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

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

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

[ ]
RE:00126 400 bad requesuについて質問No.00127
秀まるお さん 00/04/30 11:06
 
 横取り丸はリクエストヘッダを多少加工しますが、特にBAD REQUESTを出なくする
ような加工をしているとは思えないです。???

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

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


[ ]
RE:00127 400 bad requesuについて質問No.00128
nekosogi さん 00/04/30 17:46
 
早速のご解答ありがとうございます。

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

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

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

[ ]
RE:00128 400 bad requesuについて質問No.00129
nekosogi さん 00/04/30 23:59
 
相対パスで記述したら、すんなりと
受け入れてくれました。
ほんとに助かりました。ありがとうございます。

[ ]