00126 00/04/30 10:45 400 bad requesuについて質問
投稿者 : nekosogi   コメントを投稿する

どうも初めまして。
実はたいへん困っていることがあるんで、質問させてください。
今、HTTPクライアントソフトを作ってるんですけど、
とあるサーバーアプリケーション(シャーク何とかって
言うやつだったと思うんですけど)に
400 bad request
でけられてしまいます。
リクエストヘッダーが悪いのかなと思いながら
横取り丸を通したら、すんなりうまくいきます。
横取り丸は、何か悪い部分を訂正して送っている
んでしょうか?

ちなみに、こちらの製作環境は、VC6で、
CSocketクラスを使って送受信してます。
もちろん、ヘッダ送信にエラーは出ず、
完璧に送れている状態です。

お心当たりがありましたら、ぜひ教えてください。
お忙しいとは思いますが、よろしくお願いします。


00127 00/04/30 11:06 RE:00126 400 bad requesuについて質問
投稿者 : 秀まるお   コメントを投稿する

 横取り丸はリクエストヘッダを多少加工しますが、特にBAD REQUESTを出なくするような加工をしているとは思えないです。???

 横取り丸がやっているのは、リクエストヘッダの1行目に入っているURLのパスを相対パスに変換する処理と、Proxy-Connection:ヘッダの名前をConnection:に変換する処理です。

 もしかして、そちらのアプリケーションはヘッダを複数に分割して送信してないでしょうか。だとすると、横取り丸を通すことでbad requestが直る可能性があると思います。HTTPのヘッダは一回のsendで送信してやらないといけないです。


00128 00/04/30 17:46 RE:00127 400 bad requesuについて質問
投稿者 : nekosogi   コメントを投稿する

早速のご解答ありがとうございます。

相対パスというと、
GET http://www.xxx.com/xxx/index.html HTTP/1.0
ていうのではなくて
GET /xxx/index.html HTTP/1.0
とやるやつですよね??
もしかしたら、これが悪いのかも……
いままで、全部絶対パスで出してました…。

秀まるおさんのおっしゃったことを考えたら、
SENDの使い方が横取り丸と違うとしか考えられません。
一回で送信してるつもりなんですが、なんか、どっかで
おかしいのかもしれないです。
うーん。謎です。

私事の質問を丁寧に答えていただいてありがとうございました。
これからも、素晴らしいアプリの開発を期待しています。
頑張ってください。


00129 00/04/30 23:59 RE:00128 400 bad requesuについて質問
投稿者 : nekosogi   コメントを投稿する

相対パスで記述したら、すんなりと
受け入れてくれました。
ほんとに助かりました。ありがとうございます。


新規に投稿する