アプリ版:「スタンプのみでお礼する」機能のリリースについて

LWPを使ってhttpsにアクセスしたいのですが、仕様の要求からリクエストヘッダを変更しなければならないのです。

HTTP::Lite だと add_req_header というのが使えるようですが、LWPだと同様の機能はどう書けばいいのでしょうか?

A 回答 (3件)

(英語)

http://search.cpan.org/~gaas/libwww-perl/lib/HTT …
(日本語)http://homepage3.nifty.com/hippo2000/perltips/HT …
くらいでしょうか。系統立った詳しい情報は、余り無いんじゃないかと思います(私は見たこと無いです)。

この回答への補足

日本語のページは私がよく見たページです。
$ua->request(GET 'http://www.sn.no/');
$ua->request(POST 'http://somewhere/foo', [foo => bar, bar => foo]);
というのが書いてあって、わたしはこれしか知らなかったので、#1に対する補足のようなことを書いてしまったんでした。

補足日時:2006/11/03 22:46
    • good
    • 0
この回答へのお礼

ありがとうございました。
HTTP::Request
の方でできそうなので勉強してみます。

お礼日時:2006/11/03 22:51

>お示しの方法だと、'user-agent'=>'hogehoge' は単にCGIのパラメータとしてわたされるだけような気がするのですが。



とりあえず一度、参考ページを見てください。
参考ページの、
$r = HTTP::Request->new( $method, $uri, $header, $content )
を使っています。
少なくとも私の環境では、リクエストヘッダが変更されます。

この回答への補足

わかりました。たしかにお示しの方法で間違いないようでした。ありがとうございました。
私は HTTP::Request::Common の方を使っていたので勘違いしていたようです。
この2つの違いについて解説してあるページはご存知でしょうか?

補足日時:2006/11/03 11:21
    • good
    • 0

以下で出来ます。


色々やり方がありますので、参考URLを見てください。

use LWP::UserAgent;
$request = HTTP::Request->new(GET => 'http://www.example.com/', ['foo1'=>'bar1', 'foo2'=>'bar2', 'user-agent'=>'hogehoge']);
$ua = LWP::UserAgent->new;
$response = $ua->request($request);
print $response->content;

参考URL:http://search.cpan.org/~gaas/libwww-perl/lib/HTT …

この回答への補足

すいません、ことばが足りなかったようです。
POSTで送信する文字列ではなく、リクエストヘッダを変更したいんです。
たとえば、Content-Type=ABCDEF; という具合です。お示しの方法だと、'user-agent'=>'hogehoge' は単にCGIのパラメータとしてわたされるだけような気がするのですが。

補足日時:2006/11/02 21:06
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!