![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 100 Pomógł: 3 Dołączył: 25.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
jestem w trakcie pisania mechanizmu dodawania ogłoszeń do portalu ogłoszeniowego. Mechanizm dobrze działa o ile przy przesyłaniu danych metodą POST nie da się za dużo znaków. Do jakieś ilości znaków skrypt działa prawidłowo, powyżej jakieś liczny znaków (nie wiem jakiej) skrypt w ogóle się nie wykonuje.
Moja wiedza z tego zakresu nie jest duża więc wszelkie uwagi mile widziane. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 102 Pomógł: 12 Dołączył: 27.01.2007 Skąd: north Poziom: 158 Tytuł: Miszcz Ostrzeżenie: (0%) ![]() ![]() |
Przedstaw dokładniej problem jeśli możesz. Przy jakich danych przestaje Ci działać wysyłanie POST? Wysyłasz dane w formacie ciągu (tj. http_build_query" title="Zobacz w manualu PHP" target="_manual) czy tablicy asocjacyjnej?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 100 Pomógł: 3 Dołączył: 25.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
a więc, przy takiej postaci działa (wycinek kodu)
a przy takiej już nie (wycinek kodu), kod w ogóle się nie wykonuje, może to jakieś ograniczenia php lub biblioteki curl
ale z tego co zauważyłem są to jakieś ograniczenia CURLOPT_POSTFIELDS, ponieważ niema to znaczenia czy $ogloszenie[opis] czy $ogloszenie[gal] ma ja dużą ilość danych. Ten post edytował linx 1.06.2009, 13:58:28 |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Spróbuj tym: http://scripts.incutio.com/httpclient/
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 100 Pomógł: 3 Dołączył: 25.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Nie mogę za bardzo poradzić sobie z tą biblioteką.
Nie wiem czy to wina mojego skryptu, czy czegoś brakuje mi na serwerze(raczej czegoś mi na nim brakuje). A może ktoś wie jak rozwiązać mój problem przy użyciu CURL?? |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 419 Pomógł: 42 Dołączył: 12.08.2008 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Komentarz z php.net
Cytat If you are doing a POST, and the content length is 1,025 or greater, then curl exploits a feature of http 1.1: 100 (Continue) Status.
See http://www.w3.org/Protocols/rfc2616/rfc261...8.html#sec8.2.3 * it adds a header, "Expect: 100-continue". * it then sends the request head, waits for a 100 response code, then sends the content Not all web servers support this though. Various errors are returned depending on the server. If this happens to you, suppress the "Expect" header with this command: <?php curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:')); ?> See http://www.gnegg.ch/2007/02/the-return-of-...t-100-continue/ Ten post edytował golaod 3.06.2009, 12:09:53 |
|
|
![]()
Post
#7
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat Nie mogę za bardzo poradzić sobie z tą biblioteką. Z czym sobie nie radzisz? Masz przecież dokumentację. A z tego, co widzę, to cURL-em nie pójdzie, trzeba ręcznie konstruować pakiet HTTP i wysyłać przez fsockopen" title="Zobacz w manualu PHP" target="_manual, co ta biblioteka właśnie realizuje. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 419 Pomógł: 42 Dołączył: 12.08.2008 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
No niby znalazłem
Cytat $curl->setopt( CURLOPT_POSTFIELDS, "$string" ); $curl->setopt( CURLOPT_POSTFIELDSIZE, $length ); $curl->setopt( CURLOPT_POST, 1 ); $curl->setopt( CURLOPT_CONNECTTIMEOUT,8); Jednak ja osobiście nie widzę takiej flagi w dokumentacji. Tzn. do C/C++ znalazłem jednak do php brak. Może definiując samemu w nagłówku POST/ by zadziałało ? Osobiście jednak przyłączam się do erix'a. Biblioteka ma dokumentacje więc można skorzystać. Ten post edytował golaod 3.06.2009, 12:22:42 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 419 Pomógł: 42 Dołączył: 12.08.2008 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
A mam takie pytanie. Jesteś pewien, że tam gdzie powinna trafić tablica post to strona www.//twoja_podana_strona.pl/logowanie.php ?
A może ma być logowanie.php?login=1 albo check_login.php albo może jest jakiś <input type="hidden" /> który też musi być przesłany ? Poza tym z tego, co widzę to skrypt sam zapamiętuje cookie więc nie trzeba mu podawać go za pomocą setCookie chyba, że chcesz odzyskać sesje lub uruchomić jakieś autologowanie. Ten post edytował golaod 8.07.2009, 15:20:38 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 100 Pomógł: 3 Dołączył: 25.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
A więc tak, skrypt przy użyciu CURL działa prawidłowo. Tylko tak jak pisałem wyżej nie nadaje się przy przesyłaniu dużej ilości danych POST`em.
W nowym skrypcie próbowałem dodawać "Submit=zaloguj się"
W takiej konfiguracji dostaje odpowiedź od strony Twoja przeglądarka nie akceptuje plików cookie. Włącz pliki cookie, jeśli chcesz się zalogować. Jakiś pomysł(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Sorry że nie podaje adresu strony ale wolałbym nie rozpisywać się o jej nazwie na lewo i prawo. |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 72 Pomógł: 10 Dołączył: 2.02.2008 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Próbowałeś tego:
Kod curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:'));
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 100 Pomógł: 3 Dołączył: 25.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Próbowałem,
niestety ten wpis nie załatwia do końca problemu. Fakt skrypt się wykonuje ale przy dużej ilości danych nie wszystko jest przesyłane. |
|
|
![]()
Post
#13
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Poszukaj jakichś klas a'la HTTP Client, które otwierają żądanie surowo przez fsockopen" title="Zobacz w manualu PHP" target="_manual. Są skuteczne tam, gdzie cURL nie daje rady. [;
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 100 Pomógł: 3 Dołączył: 25.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Po wykonaniu skryptu, mieli ale dalej nie dostaje się tam gdzie chcę. Coś robię nie tak z cookie tylko za bardzo nie wiem gdzie jest i na czym polega błąd. Debud wyś: ----------------------------------------------------------------------------------------------------------------- HttpClient Debug: Request POST /logowanie.php HTTP/1.0 Host: strona_www.pl User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.3a) Gecko/20021207 Accept: text/xml,application/xml,application/xhtml+xml,text/html,text/plain,image/png,image/jpeg,image/gif,*/* Accept-encoding: gzip Accept-language: en-us Content-Type: application/x-www-form-urlencoded Content-Length: 42 login=rysio&haslo=cosik ----------------------------------------------------------------------------------------------------------------- HttpClient Debug: HTTP/1.0 200 OK ----------------------------------------------------------------------------------------------------------------- HttpClient Debug: Received Headers Array ( [server] => Apache-Coyote/1.1 [p3p] => CP="CAO PSA OUR" [content-type] => text/html;charset=utf-8 [content-length] => 27042 [date] => Sun, 05 Jul 2009 19:01:21 GMT [connection] => close [set-cookie] => Array ( [0] => area_preference=Vguid=2AQAAASIH1koAAM4AMGFkZWU2ZjUxLWEzYzYtNDJkNC05ZTRjLWRjOTIwM gxNWU0ZS0xMjI0YzRhYjk5ZQzxGgHPtxjg5omMDaiN/zG7AUUt^random_marker=31; Domain=.strona_www.p; Expires=Mon, 05-Jul-2010 19:01:21 GMT; Path=/ [1] => cls-last-visit=1246820481450; Domain=strona_www.pl; Expires=Mon, 05-Jul-2010 19:01:21 GMT; Path= ) [cache-control] => private ) ----------------------------------------------------------------------------------------------------------------- HttpClient Debug: Persisting referer: http://strona_www.pl/logowanie.php ----------------------------------------------------------------------------------------------------------------- HttpClient Debug: Request GET /panel.php HTTP/1.0 Host: strona_www.p User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.3a) Gecko/20021207 Accept: text/xml,application/xml,application/xhtml+xml,text/html,text/plain,image/png,image/jpeg,image/gif,*/* Accept-encoding: gzip Accept-language: en-us Referer: http://strona_www.pl/logowanie.php Cookie: 0=area_preference=Vguid=2AQAAASIH1koAAM4AMGFkZWU2ZjUxLWEzYzYtNDJkNC05ZTRjLWRjOTI MzgxNWU0ZS0xMjI0YzRhYjk5ZQzxGgHPtxjg5omMDaiN/zG7AUUt^random_marker=31; Domain=.strona_www.pl; Expires=Mon, 05-Jul-2010 19:01:21 GMT; Path=/; 1=cls-last-visit=1246820481450; Domain=strona_www.pl; Expires=Mon, 05-Jul-2010 19:01:21 GMT; Path=; Content-Type: application/x-www-form-urlencoded Content-Length: 42 login=rysio&haslo=cosik ----------------------------------------------------------------------------------------------------------------- HttpClient Debug: HTTP/1.0 302 Moved Temporarily ----------------------------------------------------------------------------------------------------------------- HttpClient Debug: Received Headers Array ( [server] => Apache-Coyote/1.1 [location] => http://strona_www.pl/logowanie.php?gdzie=panel [content-length] => 0 [date] => Sun, 05 Jul 2009 19:01:23 GMT [connection] => close ) ----------------------------------------------------------------------------------------------------------------- HttpClient Debug: Persisting referer: http://strona_www.pl/panel.php ----------------------------------------------------------------------------------------------------------------- HttpClient Debug: Request GET /logowanie.php HTTP/1.0 Host: strona_www.p User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.3a) Gecko/20021207 Accept: text/xml,application/xml,application/xhtml+xml,text/html,text/plain,image/png,image/jpeg,image/gif,*/* Accept-encoding: gzip Accept-language: en-us Referer: http://strona_www.p/panel.php Cookie: 0=area_preference=Vguid=2AQAAASIH1koAAM4AMGFkZWU2ZjUxLWEzYzYtNDJkNC05ZTRjLWRjOTI MzgxNWU0ZS0xMjI0YzRhYjk5ZQzxGgHPtxjg5omMDaiN/zG7AUUt^random_marker=31; Domain=.strona_www.pl; Expires=Mon, 05-Jul-2010 19:01:21 GMT; Path=/; 1=cls-last-visit=1246820481450; Domain=strona_www.pl; Expires=Mon, 05-Jul-2010 19:01:21 GMT; Path=; Content-Type: application/x-www-form-urlencoded Content-Length: 42 login=rysio&haslo=cosik ----------------------------------------------------------------------------------------------------------------- HttpClient Debug: HTTP/1.0 200 OK ----------------------------------------------------------------------------------------------------------------- HttpClient Debug: Received Headers Array ( [server] => Apache-Coyote/1.1 [p3p] => CP="CAO PSA OUR" [content-type] => text/html;charset=utf-8 [content-length] => 27023 [date] => Sun, 05 Jul 2009 19:01:23 GMT [connection] => close [set-cookie] => Array ( [0] => area_preference=Vguid=2AQAAASIH1koAAM4AMDQ1ZTQ3ZjYyLWY0MDYtNDAxYy04MTJiLWM0ZmRhN FhYjllMS0xMjI0YzRhYzI4MI+oJw31yQqkF513I5fm4JX4tTYR^random_marker=23; Domain=.strona_www.pl; Expires=Mon, 05-Jul-2010 19:01:23 GMT; Path=/ [1] => cls-last-visit=1246820483718; Domain=strona_www.pl; Expires=Mon, 05-Jul-2010 19:01:23 GMT; Path= ) ) ----------------------------------------------------------------------------------------------------------------- HttpClient Debug: Persisting referer: http://strona_www.pl/logowanie.php ----------------------------------------------------------------------------------------------------------------- Ma ktoś jakiś pomysł(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Ten post edytował linx 14.07.2009, 20:01:58 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 22:41 |