Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    [SOCKET] HTTP/1.1 400 Bad Request

    Salve a tutti.... sto cercando di capire come mai ricevo un errore del genere durante una connessione ad un server di paypal per la verifica di alcuni dati.
    Sto usando il codice loro, quindi do per scontato che dovrebbe funzionare e ritornarmi se il tutto è verificato o no, ma invece ho come risultato
    codice:
    RES: HTTP/1.1 400 Bad Request
    RES: Date: Thu, 24 Feb 2011 18:53:47 GMT
    RES: Server: Apache
    RES: Set-Cookie: cwrClyrK4LoCV1fydGbAxiNL6iG=%7c8dB714NKGjhP56ynXaJLmkTyVNKocItybS4QzdcgDY2nE0Rb5H0O_k4Bdmh4BL8zZ0acCm%7caGxP7KXbwaZz3TTJ1bPu9SNdm2GoAJYx8hoApUu1Novh3_yk47yzUXvOG8JiTRO5jD18n0%7c; domain=.paypal.com; path=/; Secure; HttpOnly
    RES: Set-Cookie: cookie_check=yes; expires=Sun, 21-Feb-2021 18:53:47 GMT; domain=.paypal.com; path=/; Secure; HttpOnly
    RES: Set-Cookie: Apache=10.191.114.124.1298573627262870; path=/; expires=Sat, 16-Feb-41 18:53:47 GMT
    RES: Vary: Accept-Encoding
    RES: Strict-Transport-Security: max-age=500
    RES: Connection: close
    RES: Content-Type: text/html
    RES:
    Ora... ho provato sia connettendomi tramite SSL che tramite porta 80 ma nulla cambia. Mi chiedo se non è qualcos'altro... tipo che il mio server non vuole proprio farmi uscire. Quindi non un errore di ritorno da paypal, ma direttamente un errore del mio server.
    Voi che mi dite?
    Conoscete questo problema?
    Grazie
    La fantasía, abandonada de la razón, produce monstruos imposibles; unida con ella es madre de las artes y origen de las maravillas.
    (Francisco Goya)
    ----------------------------------------
    http://www.mangioebevo.it
    http://www.definitives.org

  2. #2
    nessuna info?
    La fantasía, abandonada de la razón, produce monstruos imposibles; unida con ella es madre de las artes y origen de las maravillas.
    (Francisco Goya)
    ----------------------------------------
    http://www.mangioebevo.it
    http://www.definitives.org

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    285
    L'errore 400 segnala una richiesta sbagliata (probabilmente per sintassi) da parte del client. Non è colpa del tuo server e nemmeno di quello di Paypal. C'è sicuramente qualche errore nella richiesta che vai a fare con lo script.

  4. #4
    la richiesta viene lanciata così
    Codice PHP:
    $req 'cmd=_notify-validate';
    foreach (
    $_POST as $key => $value) {
    $value urlencode(stripslashes($value));
    $req .= "&$key=$value";
    }
    $header .= "POST /cgi-bin/webscr HTTP/1.0\r\n";
    $header .= "Content-Type: application/x-www-form-urlencoded\r\n";
    $header .= "Content-Length: " strlen($req) . "\r\n\r\n";
    $fp fsockopen ('ssl://www.paypal.com'443$errno$errstr30);
    //$fp = fsockopen ('www.paypal.com?'.$req, 80, $errno, $errstr, 30); 
    e dopo viene letto il risultato che riporta quell'errore
    La fantasía, abandonada de la razón, produce monstruos imposibles; unida con ella es madre de las artes y origen de las maravillas.
    (Francisco Goya)
    ----------------------------------------
    http://www.mangioebevo.it
    http://www.definitives.org

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    285
    Ma è solo quella la richiesta? Sembra che manchi qualche campo del protocollo http. Ad esempio manca la riga Host: www.sito.it. Prova ad aggiungere subito dopo la prima riga
    codice:
    $header .= "Host: www.sito.it\r\n";
    dove "www.sito.it" è l'host di paypal. Dovrebbe essere www.paypal.com o .it non saprei. Questo è un errore tipico per molti server http...ovviamente non sono sicuro che l'errore derivi proprio da questo. Prova.

    Poi, il comando $req lo mandi dopo, vero?

  6. #6
    ho aggiunto il codice che mi hai dato
    Codice PHP:
      $header "POST /cgi-bin/webscr HTTP/1.0\r\n";
      
    $header .= "Host: $url:443\r\n";
      
    $header .= "Content-Type: application/x-www-form-urlencoded\r\n";
      
    $header .= "Content-Length: " strlen($req) . "\r\n\r\n";
      
    $header .= "Host: [url]www.[/url]".$url."\r\n";
      
    $fp fsockopen ("ssl://$url"443$errno$errstr30); 
    Ma ottengo questo risultato
    codice:
    RES: HTTP/1.1 200 OK
    RES: Date: Mon, 28 Feb 2011 09:39:26 GMT
    RES: Server: Apache
    RES: Content-Length: 54
    RES: Set-Cookie: Apache=10.191.114.151.1298885966460353; path=/; expires=Wed, 20-Feb-41 09:39:26 GMT
    RES: Vary: Accept-Encoding
    RES: Strict-Transport-Security: max-age=500
    RES: Connection: close
    RES: Content-Type: text/html
    RES:
    RES:
    RES:
    RES: Fatal Failure
    RES:
    RES:
    Dovrei ricevere VERIFIED o INVALID
    La fantasía, abandonada de la razón, produce monstruos imposibles; unida con ella es madre de las artes y origen de las maravillas.
    (Francisco Goya)
    ----------------------------------------
    http://www.mangioebevo.it
    http://www.definitives.org

  7. #7
    Ho trovato questo codice con tutti gli header, ma ritorno sempre all'errore 400
    Codice PHP:
      $header "POST /cgi-bin/webscr HTTP/1.0\r\n";
      
    $header .= "Host: $url:443\r\n";
      
    $header .= "Content-Type: application/x-www-form-urlencoded\r\n";
      
    $header .= "Content-Length: " strlen($req) . "\r\n\r\n";
      
    $fp fsockopen ("ssl://$url"443$errno$errstr30); 
    La fantasía, abandonada de la razón, produce monstruos imposibles; unida con ella es madre de las artes y origen de las maravillas.
    (Francisco Goya)
    ----------------------------------------
    http://www.mangioebevo.it
    http://www.definitives.org

  8. #8
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    Nell'ultima manca ancora l'host e mancano anche i dati del post.
    Per gli Spartani e Sparta usa spartan Il mio github

  9. #9
    e questo non va come host?
    codice:
    $header .= "Host: $url:443\r\n";
    Ed i dati del POST? mi puoi fare un esempio?
    La fantasía, abandonada de la razón, produce monstruos imposibles; unida con ella es madre de las artes y origen de las maravillas.
    (Francisco Goya)
    ----------------------------------------
    http://www.mangioebevo.it
    http://www.definitives.org

  10. #10
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    codice:
    <form action='/index.php' method='post' enctype="application/x-www-form-urlencoded">
        <input type='text' name='user_name' value='linoma' />
    </form>

    codice:
            $req = "user_name=linoma";
    	$header = "POST /index.php HTTP/1.0\r\n";
    	$header .= "Host: www.google.it\r\n";
    	$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
    	$header .= "Content-Length: " . strlen($req) . "\r\n\r\n";
            fputs($fp,$header . $req);
    Credo che 443 sia la porta SSL e la devi indicare nel fsockopen al posto di 80
    Per gli Spartani e Sparta usa spartan Il mio github

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.