的Http请求梨gzip的输出

问题描述:

下面是我的代码,我想在下面的gzip的输出,如何发送正确的头将获得gzip输出的Http请求梨gzip的输出

$file="www.ntravel.ae/ws"; 
$request='<?xml version="1.0" encoding="UTF-8"?><requestAuditInfo></requestAuditInfo>'; 
$req =new HTTP_Request($file); 
$req->setMethod(HTTP_REQUEST_METHOD_POST); 
$req->addPostData("xml",$request); 
$reqTime = time(); 
$req->sendRequest(); 
echo $data = $req->getResponseBody(); 
+0

目前还不清楚你真的想在这里:你想压缩你的*请求*还是希望收到压缩的*响应*? – DaSourcerer

+0

我想发送一个请求到ntravel。如果即时消息发送gzip标头的请求,他们会给我gzip格式的请求响应 像我们在卷曲 curl_setopt($ ch,CURLOPT_HTTPHEADER,array('Accept-Encoding:gzip,deflate')); –

从它似乎你还在用HTTP_REQUEST的API。该软件包已在中看到其最新版本,并且早已被HTTP_Request2取代。请尽快更新到后者。

至于你的问题,我觉得addHeader()方法是你在找什么:

$req->addHeader('Accept-Encoding', 'gzip, deflate'); 

在HTTP_Request2,这是由setHeader()方法处理:

$req->setHeader('Accept-Encoding', 'gzip, deflate'); 

相关提示,HTTP_Request需要一个完全指定的URL。 www.ntravel.ae/ws应该确实读取http://www.ntravel.ae/ws

我也不确定你是否真的想发送你的XML负载。它看起来像你想通过setBody()[2])将其存储在请求正文中。