使用fwrite和fsockopen

时间:2016-01-26 11:29:01

标签: php http-post fwrite fsockopen

我试图调试此代码并且实际上无法访问该服务,因此只能依赖于答案(发回" ok"以及传输的参数列表)。我用Z Rest Eazy检查POST,没关系。 我用来提供参数的方式是否有任何问题。 (当我尝试在FF上使用相同的标题和参数进行海报扩展时,它也无法正常工作。所以Z REst Ezy Ok,我的代码和海报NG? 有人可以帮忙吗?

   $post_data = 'nom=nom&prenom=prenom&age=age';

$socket = fsockopen("xx.yyy.zz.aa", 80, $errno, $errstr, 15);    

if(!$socket){    
    echo ' error: ' . $errno . ' ' . $errstr;
    die;
}else{
    $http  = "POST /MyServices/TestProxy HTTP/1.1\r\n";  
    $http .= "Host: xx.yyy.zz.aa:80\r\n";
    $http .= "User-Agent: " . $_SERVER['HTTP_USER_AGENT'] . "\r\n";
    $http .= "Content-Type: multipart/form-data; boundary=---------------------------193612245921106\r\n";
    $http .= "Content-length: " . strlen($post_data) . "\r\n";
    $http .= "Connection: close\r\n\r\n";
    $http .= $post_data . "\r\n\r\n";       
    fwrite($socket, $http);     
    $contents = "";     
    while (!feof($socket)) {
        $contents .= fgets($socket, 4096);
    }       
    fclose($socket);

有了断点,我可以看到我的请求:

POST /MyServices/TestProxy HTTP/1.1
Host: xx.yyy.zz.aa:80
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36
Content-Type: multipart/form-data; boundary=---------------------------193612245921106
Content-length: 29
Connection: close

nom=nom&prenom=prenom&age=age

0 个答案:

没有答案