Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> fopen i zmienne POST
nocnyMark()
post 17.08.2005, 21:05:08
Post #1





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 26.04.2004

Ostrzeżenie: (0%)
-----


stoje przed problemem napisania procedury ktora bedzie potrafila po podaniu jej miesiaca i roku pokazac ostatni w miesiacu kurs kupna euro

z caloscia jakby nie mam wiekszych problemow ale zaraz na poczatku trafil sie ciezki orzech

na stronie:
http://www.nbp.pl/ArchC.aspx

jest formularz ktory do: 'http://www.nbp.pl/ListaABCH.aspx?Typ=c' przekazuje metoda POST dwie zmienne - rok i mies.

i teraz mam problem, jak przy pomocy np

  1. <?php
  2. $str = @fopen("http://www.nbp.pl/ListaABCH.aspx?Typ=c", "r");
  3. ?>


przekazac na tą stronę obie te zmienne ?

albo moze ktos ma pomysl jak zrobic to inaczej ? (kurs musze pobierac z NBP)

sa tez pliki xml ktore udostepnia nbp ale one maja swoje numery kolejne (http://www.nbp.pl/Kursy/xml/c146z050729.xml - dokladnie chodzi o numer 146 ktory jest numerem kolejnym tabeli kursow), ktore aby kontrolowac musialbym znac wszystkie dni robocze w roku i obliczac je za kazdym razem
Go to the top of the page
+Quote Post
strife
post 17.08.2005, 21:54:06
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

Ostrzeżenie: (0%)
-----


Czyli generalnie potrzebujesz wysłać POST bez formularza, samoistnie że tak powiem. Link na dole..

http://www.strefaphp.net/artykul12.html


--------------------
Go to the top of the page
+Quote Post
nocnyMark()
post 18.08.2005, 07:13:39
Post #3





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 26.04.2004

Ostrzeżenie: (0%)
-----


zrobilem scarface tak jak polecales

Twoj skrypt dziala bo sprawdzalem u siebie z www.wp.pl

ale jak proboje zaaplikowac go do swojego problemu, a wyglada to tak:

  1. <?php
  2.  
  3. $url = 'www.nbp.pl';
  4. $fp = fsockopen($url, 80, $errno, $errstr, 1);
  5. $out = "POST /ListaABCH.aspx?Typ=C HTTP/1.0rn"; 
  6. $out .= "Host: $urlrn"; 
  7. $out .= "Content-Type: application/x-www-form-urlencodedrn";
  8. /**
  9. * Tu podajemy długość całego łańcucha zmiennych POST (patrz niżej)
  10. */
  11. $out .= "Content-Length: 14rn";
  12. $out .= "rn";
  13. /**
  14. * Tu kolejno podajemy zmienne POST oddzielając je & (tak jak w GET)
  15. */
  16. $out .= "rok=05&mies=07rn";
  17. $out .= "Connection: Closernrn";
  18. fwrite($fp, $out);
  19. while (!feof($fp))
  20. {
  21. $echo .= fgets($fp, 128);
  22. }
  23. fclose($fp);
  24. echo $echo;
  25.  
  26. ?>


wyskakuje mi strona:

  1. HTTP/1.1 302 Found
  2. Connection: close
  3. Date: Thu, 18 Aug 2005 06:06:08 GMT
  4. Server: Microsoft-IIS/6.0
  5. X-Powered-By: ASP.NET
  6. X-AspNet-Version: 1.1.4322
  7. Location: /home.html?aspxerrorpath=/ListaABCH.aspx
  8. Cache-Control: private
  9. Content-Type: text/html; charset=utf-8
  10. Content-Length: 157
  11.  
  12. <html><head><title>Object moved</title></head><body>
  13. <h2>Object moved to <a href='/home.html?aspxerrorpath=/ListaABCH.aspx'>here</a>.</h2>
  14. </body></html>


a powinna wyskoczyc strona z tabelami kursow w wybranym miesiacu

szukalem na googlach co moze oznaczac odpowiedz Object moved here przy wywolywaniu fsockopen ale tam neistety nic nie ma
Go to the top of the page
+Quote Post
ActivePlayer
post 19.08.2005, 07:26:30
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 224
Pomógł: 40
Dołączył: 6.07.2004
Skąd: Wuppertal

Ostrzeżenie: (0%)
-----


Kod
HTTP/1.1 302 Found
Connection: close
na moje oko cos zle dane postem wysyłasz smile.gif
Go to the top of the page
+Quote Post
nocnyMark()
post 19.08.2005, 07:56:23
Post #5





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 26.04.2004

Ostrzeżenie: (0%)
-----


tak wyglada formularz na stronie NBP: http://www.nbp.pl/ArchC.aspx

  1. <form action="ListaABCH.aspx?Typ=c" method="post">
  2. <b>Wybierz rok:&nbsp;</b>
  3. <select name="rok">
  4. <option value="02">2002</option>
  5. <option value="03">2003</option>
  6. <option value="04">2004</option>
  7. <option value="05" selected="selected">2005</option>
  8.  
  9. ,&nbsp;
  10.  
  11. <b> miesiąc: </b>
  12. <select name="mies">
  13. <option value="01">&nbsp;styczeń&nbsp;</option>
  14. <option value="02">&nbsp;luty&nbsp;</option>
  15. <option value="03">&nbsp;marzec&nbsp;</option>
  16. <option value="04">&nbsp;kwiecień&nbsp;</option>
  17. <option value="05">&nbsp;maj&nbsp;</option>
  18. <option value="06">&nbsp;czerwiec&nbsp;</option>
  19. <option value="07">&nbsp;lipiec&nbsp;</option>
  20.  
  21. <option value="08" selected="selected">&nbsp;sierpień&nbsp;</option>
  22. <option value="09">&nbsp;wrzesień&nbsp;</option>
  23. <option value="10">&nbsp;październik&nbsp;</option>
  24. <option value="11">&nbsp;listopad&nbsp;</option>
  25. <option value="12">&nbsp;grudzień&nbsp;</option>
  26.  
  27. &nbsp;<b>i</b>&nbsp;
  28. <input type="submit" value="zaakceptuj!">
  29. </form>


wiec z powyzszego wynika ze z formularza wychodza zmienne rok i mies

chyba ze zle cos rozumiem

juz 3 raz podchodzilem do tego problemu, w ciagu ostatniego pol roku smile.gif
i w koncu pytam na forum bo znalesc nie moge smile.gif
Go to the top of the page
+Quote Post
hwao
post 19.08.2005, 09:42:05
Post #6


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




ja ostanio pisałem kod do polaczen http i analizowania request'a (co prawda nadal dokladnie nie przetestowalem go, jak cos znajdziesz mozesz dac znac).
Obsluguje proxy.

http://windforce.strefaphp.net/code/http/

Kod pod php (jak nie wpisujesz nic w metode proxy to laczy bez niego)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 03:12