1

PHPとPEARHTTPREQUESTパッケージ(http://pear.php.net/package/HTTP_Request/)を使用してRESTリポジトリのUIを開発しています。HTTP GETリクエストを作成しましたが、リクエストされたrdf/xmlファイルが期待どおりに配信されます。しかし、私はこのリクエストを延長したいので、これを機能させることができません。リポジトリでは、IDに添付されたzipファイルを送信できます。したがって、rdf / xmlデータを配信するのと同じURLを呼び出す必要がありますが、リクエストを実行する前に、HTTP GETヘッダーをxmlからaccept:application/zipに変更する必要があります。これにより、rdf/xmlファイルの代わりにzipが配信されます。

$req =& new HTTP_Request();
$req->setMethod(HTTP_REQUEST_METHOD_GET);
$req->setURL($url);
$req->clearPostData();
if (!PEAR::isError($req->sendRequest())) {
     $response2 = $req->getResponseBody();
} else {
     $response2 = "";
}

echo $response2;

これを行うためにGET呼び出しを変更する方法を知っている人はいますか?本当に助けが必要です!

さらに、multipart/form-dataを使用するHTTPPUTリクエストを作成したいと思います。誰かがこれを作る方法を知っていますか?

私を助けてください!ありがとう!

4

2 に答える 2

2

最初の質問では、次の方法でGETリクエストヘッダーのAcceptフィールドを設定できます。

$req->addHeader('Accept', 'application/zip');
# assuming that this will trigger the server to respond with the zip and not xml

質問番号2:

# Set method to PUT
$req->setMethod(HTTP_REQUEST_METHOD_PUT);

# Attach file to request
$req->addFile('file_upload_field', '/path/to/file.ext', 'application/zip');

HTTP_Requestを使用したファイルのアップロードの詳細をご覧ください。

于 2011-02-02T11:56:44.683 に答える
0

リクエストヘッダーを変更するには、HTTP_RequestオブジェクトのaddHeader()メソッドを確認してください:http://pear.php.net/manual/en/package.http.http-request.headers.php

メソッドを変更するには、setMethod()を使用します。http://pear.php.net/package/HTTP_Request/docs/latest/HTTP_Request/HTTP_Request.html#methodsetMethod

于 2011-02-02T11:53:18.613 に答える