400 Bad Syntaxって何ですか?

このQ&Aのポイント
  • 400 Bad Syntaxとは、リクエストが正しくフォーマットされていないことを示すエラーコードです。
  • 具体的には、リクエストの一部にエラーがあり、正常に処理できないことを意味します。
  • 回避方法としては、リクエストを正しくフォーマットするか、リクエストのヘッダーやパラメーターを確認することが挙げられます。
回答を見る
  • ベストアンサー

400 Bad Syntaxって何ですか?

先ほどから見られないページがあって困っています。教えてください。 ----------------- 400 Bad Syntax The request appears to be improperly formatted. Found error in this section of the request: GET /Info/concept.html HTTP/1.1 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/msword, application/x-shockwave-flash, */* ~~~~~~~: ~~~~:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Accept-Language: ja ~~~~~~~~~~~~~~~: ~~~~~ ~~~~~~~ User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322) Host: XXX.XX.co.jp Connection: Keep-Alive と出ているのですが、これはいったいどういう意味なんでしょうか?また、回避方法はどうすればいいのでしょう・・・。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

おおまかに言うと 通常 ブラウザがaaa.htmlを見たいと信号を送り、これを受けたサーバーがブラウザにaaa.htmlを送っています。 400エラーは、[aaa.htmlを見たい]と言うブラウザからの要求を理解できなかった場合にサーバーから返されます。 通信環境やサーバーの状態が悪いとこちらからの要求が化けてしまったりして起こることがあります。 あとインターネットのセキュリティー関連のソフトをインストールされてる場合、一時的に無効にし試してみてください。^^

chikonojyo
質問者

お礼

ありがとうございます。なるほど。ということは、こちらに問題があるだけでなく、両方のどちらかに問題があるんですよね。助かりました。ありがとうございました。

関連するQ&A

  • squid の設定で IP を隠したい

    現在、TurboLinux6.0でsquidを使ってプロキシサーバーを動かしています。 http://www.taruo.net/e/?TARGET= のようなサイトで調べてみると下記のように情報 が出てしまいます。 REMOTE_HOST 202.****.***.210  REMOTE_ADDR 202.***.***.210  HTTP_REFERER (none)  HTTP_USER_AGENT . Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; Win 9x 4.90) HTTP_ACCEPT . application/vnd.ms-excel, application/msword, image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, */* HTTP_ACCEPT_LANGUAGE . ja HTTP_HOST . www.taruo.net その他の情報 HTTP_X_FORWARDED_FOR . unknown HTTP_VIA . 1.0 proxy.yuntaku.com:730 (Squid/2.4.STABLE1) HTTP_CONNECTION . keep-alive  HTTP_CACHE_CONTROL . max-age=259200 掲示板などに接続もとがでるものがありますよね。それに書き込むとIPが書かれてし まいます。 これを何とか隠したい(又は別の名前にしたい)のですが、何か方法は無いのでしょ うか?

  • WWW::Mechanizeがプロシキ経由になってしまう

    WWW::Mechanizeを使って診断君にアクセスすると判定結果が「判定:プロクシです proxy判定箇所が 1箇所、疑惑点が 2箇所ありました。」と出てしまうのですが #$mech->proxy('http', $proxy);の部分をコメントにしているのにどうしてでしょうか? 何方か教えてもらえませんか? ___________________ #!/usr/bin/perl use lib "lib"; use LWP::UserAgent; use WWW::Mechanize; $proxy = "http://xxxx.xxxx.jp:80"; $site = "http://www.taruo.net/e/"; my $mech = WWW::Mechanize->new(); #$mech->proxy('http', $proxy); $mech->add_header( Referer => 'http://www.yahoo.co.jp', Proxy-Connection => 'Keep-Alive', Connection => 'Keep-Alive', USER_AGENT => 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)', ACCEPT => 'image/gif,image/x-xbitmap,image/jpeg,image/pjpeg,image/pnp,*/*', ACCEPT-CHARSET => 'iso-8859-1,*,utf-8', ACCEPT_LANGUAGE => 'ja', ACCEPT_ENCODING => 'gzip,deflate', Content-Type => 'application/x-www-form-urlencoded', Content-Length => '100', HOST => 'www.taruo.net', HTTP_CONNECTION => 'Keep-Alive', ); $mech->post("$site"); $html = $mech->content; print "Content-type: text/html;\n\n"; print<<endend; $html endend exit;

    • ベストアンサー
    • Perl
  • HTTP通信について教えてください

    .NETのMicrosoft Application Center Testを使って HTTP通信のテストをしようとしたのですが、 データを送信できません。 VBSの記述は以下のとおりです。 (新規テスト作成で記録したロジックです) ========================================================= Option Explicit Dim fEnableDelays fEnableDelays = False Sub SendRequest1() Dim oConnection, oRequest, oResponse, oHeaders, strStatusCode If fEnableDelays = True then Test.Sleep (0) Set oConnection = Test.CreateConnection("xxx.xxx.xx.xxx", xx, false) If (oConnection is Nothing) Then Test.Trace "Error: Unable to create connection to xxx.xxx.xx.xxx" Else Set oRequest = Test.CreateRequest oRequest.Path = "/test/test.aspx"+"?TESTCD=111111" oRequest.Verb = "POST" oRequest.HTTPVersion = "HTTP/1.0" set oHeaders = oRequest.Headers oHeaders.RemoveAll oHeaders.Add "Accept", "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, application/x-shockwave-flash, */*" oHeaders.Add "Accept-Language", "ja" oHeaders.Add "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322)" 'oHeaders.Add "Host", "xxx.xxx.xx.xxx" oHeaders.Add "Host", "(automatic)" oHeaders.Add "Cookie", "(automatic)" Set oResponse = oConnection.Send(oRequest) If (oResponse is Nothing) Then Test.Trace "Error: Failed to receive response for URL to " + "/test/test.aspx" Else strStatusCode = oResponse.ResultCode End If oConnection.Close End If End Sub Sub Main() call SendRequest1() End Sub Main ========================================================= このロジックで oRequest.Verb = "GET"で実行したら パラメータが送られていないようだったので oRequest.Verb = "POST" にして実行してみましたが エラー411、Content-Length が無いためリクエストを受け付けません で、うまくいきません。 どのようにコーディングすれば、パラメータを送信してテストが出来るようになるのでしょうか? 長文となってしまい申し訳ありませんが、ご存知の方がおりましたら ご教授ください。 おねがいします。

  • webページのソースを取得するプログラムがわかりません..

    今,webページのソースを取得するプログラムを作成しているのですが,分からず困っています. yahooのイメージでこちらが入力した文字列を検索し,その検索結果のページのソースを取得したいと思っています.. 今 ↓↓↓↓ import java.net.*; import java.io.*; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; import java.util.regex.*; public class Gazou2 { static List<String> list = new ArrayList<String>(); public static void main(String args[]) throws IOException { System.out.println("日本文を入力して下さい"); BufferedReader nyu = new BufferedReader(new InputStreamReader(System.in)); String word = nyu.readLine(); //入力された文字のエンコードを行う String urlWord = URLEncoder.encode(word,"UTF-8"); int i=10; String SearchURL = "GET http://image-search.yahoo.co.jp/search?ei=UTF-8&fr=top_ga1&p="+urlWord+"&start="+i+"&sa=N"; getSource(SearchURL); } public static void getSource(String line) { String headStart = ".*<h3 class=r>.*";//ヘッダ1開始位置(正規表現, 指定) int port = 80; int count=0; BufferedReader urlIn; String htmlResponse=""; Matcher matcher; try{ //接続 Socket socket = new Socket(InetAddress.getByName("image-search.yahoo.co.jp"), port);//getByNameを使う方がよい //http://image-search.yahoo.co.jp/ OutputStream uout = socket.getOutputStream(); OutputStreamWriter wout = new OutputStreamWriter(uout); wout.write(line); //wout.write(" HTTP/1.0\r\nAccept: */*\r\nAccept-Language: ja\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; Lunascape 4.7.3)\r\nHost: www.google.co.jp\r\nProxy-Connection: Keep-Alive\r\n"); wout.write(" HTTP/1.1\r\nAccept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-silverlight, */*\r\nAccept-Language: ja\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; Lunascape 4.7.3)\r\nUA-CPU: x86\r\nAccept-Encoding: gzip, deflate\r\nProxy-Connection: Keep-Alive\r\nHost: images.google.co.jp\r\n"); wout.write("\r\n"); wout.flush(); urlIn = new BufferedReader(new InputStreamReader(socket.getInputStream(), "UTF-8")); htmlResponse = urlIn.readLine(); //headStartまで移動 while(htmlResponse.indexOf(headStart)<0){ htmlResponse = urlIn.readLine(); System.out.println(htmlResponse); //count++; } } catch(Exception e){ System.err.println(e); } } } というプログラムを教えていただき,実行しているのですが,結果が文字化けしてしまい,文字化けの直し方も分からず正しい出力がされているかわかりません(j_j) 一体何が悪いのでしょうか?分かる方いらっしゃったら教えて下さいm(_ _)m また,ソースを取得するプログラムをご存知の方教えていただけないでしょうか??

  • squidで特定のWebサイトが閲覧できない

    squidを使って3台プロキシサーバを運用しており、それぞれ別の回線でインターネットにつながっています。 その中の1台のプロキシサーバから特定のWEBサイトを表示しようとするとタイムアウトしてしまいます。 他のサイトは問題なく閲覧が出来ます。 他2台のプロキシサーバからは問題のWEBページの閲覧が出来ます。 事象が発生するサーバのアクセスログは下記になっております。 xxx.xxx.xxx.xxx - - [22/Jun/2006:16:09:33 +0900] "GET http://caesar.vicus-oryzae.com/ HTTP/1.0" 504 1378 TCP_MISS:DIRECT [Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, ~略~ GMT\r\nX-Squid-Error: ERR_READ_TIMEOUT 0\r\n\r] 他の通信に影響は出ていないので、回線事態の問題とも言えませんし、別の2台のプロキシ経由では閲覧できているので 相手側のサーバの問題とも思えません。 他に原因となりそうな事がありましたら、ご教授いただけないでしょうか。 3台ともsquidのバージョンはsquid/2.5.STABLE6で、RedHatEL4で運用しております。

  • HTTP POST送信のヘッダの書き方

    http://appsv.ocrgrid.org/cgi-bin/weocr/nhocr.cgiに対して、 ファイルを送信してレスポンスを得たいのですがうまくいきません。 ヘッダの書き方が悪いのかデータの送り方に問題があるのか 文字コードの問題かいづれかの原因だと推測して色々試してみたの ですが正解が見つけられません。 お解りになる方ご教授いただけませんでしょうか? ■詳細 画像から一行の文字を解析表示するCGIで クライアント側には、日本語プログラム言語なでしこを利用して ファイル送信しています。 下記にサンプルコードとレスポンスヘッダを載せています。 ■プログラムの説明 テンポラリーフォルダにWEB上に用意されているサンプル画像 をダウンロードして、「あれ」と言う名前の変数にその画像 ファイルの内用を代入しています。 送信ヘッダとボディーデータを対象のCGIに先ほど取得した画像 データと保存先のファイル名を埋め込みポストしています。 #ここからサンプルプログラム サンプル画像先からHTTPデータ取得をファイル名に保存 あれにファイル名を読む 「User-Agent:Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; msn OptimizedIE8;JAJP) Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language:ja-JP Accept-Charset:Shift_JIS,utf-8;q=0.7,*;q=0.7 Referer:http://appsv.ocrgrid.org/nhocr/index-j.html Accept-Encoding:gzip,deflate Host:appsv.ocrgrid.org Connection:keep-alive Cache-Control:no-cache Content-Type:multipart/form-data;boundary=---------------------------7d925e1a230364」と、 「-----------------------------7d925e1a230364 Content-Disposition:form-data;name="userfile";filename="{ファイル名}" Content-Type:image/png {(あれ)}」を"http://appsv.ocrgrid.org/cgi-bin/weocr/nhocr.cgi"へHTTPポスト。 それをSJIS変換でメモ記入 ●サンプル画像先~「http://appsv.ocrgrid.org/nhocr/hello.png」で戻る。 ●ファイル名~「{テンポラリフォルダ}{サンプル画像からURLファイル名抽出}」で戻る。 #サンプルここまで /*■処理結果レスポンスの内用 HTTP/1.1 200 OK Date: Thu, 24 Sep 2009 07:09:53 GMT Server: Apache/2 Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: text/plain ; charset=utf-8 1e File transmission has failed. 0 レスポンス内用ここまで*/

  • HTTPリクエストでのXMLデータ送信

    画面からあがって来たデータを、XML形式にして HTTPリクエストを投げる実装をJAVAで行う必要があります。 「HttpURLConnection」を利用し、Body部分に埋め込む方法を 考えているのですが、他にいい方法はないでしょうか? #こんな方法ではできないでしょうか? ※携帯向け機能なので、javaScriptが利用できません。 例)  ID=0001&PassWord=1234   ↓↓↓↓  <XMLData> <Login ID="0001" PassWord="1234">  </XMLData> ※ヘッダー部分としては以下の様にしたいのです。  POST /cgi-bin/login HTTP/1.1  Accept: */*  Content-Type: application/x-www-form-urlencoded  :  :  :  Connection: Keep-Alive  Cache-Control: no-cache  <XMLData> <Login ID="0001" PassWord="1234">  </XMLData> 以上、ご教授お願いします。

  • モジュールを使ってリクエストヘッダーの表示をさせたい

    宜しくお願いします。 ウェブサーバーにリクエストを送った際、 リクエストヘッダ レスポンスヘッダとあると思うんですけど、 レスポンスヘッダは下記の形で表示できるのですが、 リクエストの際のヘッダ情報(HOST:やReferer:など)を表示させる事ができません。 どなたか、モジュールを使った形でリクエストヘッダを表示させるプログラム記述をご教授願えませんでしょうか。 ※下記は実際にテストを行っているリクエストヘッダとレスポンスヘッダとソースを表示する記述例です。(レスポンスヘッダは正常に表示できているとおもうのですが・・。) #!/usr/bin/perl use HTTP::Request::Common qw(POST GET); use LWP::UserAgent; use HTTP::Cookies; my $ua = LWP::UserAgent->new; my $req = $ua->request(HTTP::Request->new(GET => "http://localhost/")); print "Content-type: text/html\n\n"; print $req3->headers_as_string([$endl]);#これを追加し表示される情報はリファレンスっぽくなってしまうのと、 #リクエストヘッダのHOST:やReferer:UserAgentなどの情報が入ってないので、 #モジュールを利用してリクエストヘッダを表示させてみたいです。 print $req->as_string; リクエストヘッダーのイメージは下記のような情報だと思うのですが、モジュールを使って表示させる事はできないでしょうか どなた様かご教授の程宜しくお願い致します。 HTTP/1.1 Accept: */* Referer: http://okwave.jp/search.php3 Accept-Language: ja User-Agent: Mozilla/4.0 (compatible ; MSIE 6.0; Windows NT 5.0) Host: okwave.jp Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: text/html; charset=Shift_JIS

    • ベストアンサー
    • Perl
  • アクセス制限の方法

    私の使っているアクセスログチェックでは、こんな情報を取ることが出来るのですが、ときどき、どこから飛んできたのか分からない人(174番目のログ)がいます。こういったどこから飛んできたのかわからないURLはなぜ発生するのでしょうか? また、このように、情報を制限?している人には、私のHPが消滅したと勘違いさせる良い方法はないでしょうか? 加えて、直リンクを禁止する方法があれば幸いです。 以上、よろしくお願いいたします。 生ログ (index.log) / 最新2件 [175] 2003/11/16(日) 22:23:29 ip*******************.ne.jp 1280x1024x32 Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) http://URLがつづく [174] 2003/11/16(日) 22:15:59 yahoobb**********.bbtec.net 1024x768x16 Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322) ----------------------------------------------------- ----------------------------------------------------- 動作環境: Windows2000で、ノートンインターネットセキュリティーを入れています。

  • 配送業者のAPI側に送るヘッダーについて

    配送業者のAPIにリクエストする場合のヘッダーの書き方で、どこか修正したほうがいいと 思われる個所を指摘していただけますか? ヘッダーは下記のようなものです。 ------------------------------------------------------------------------------- $headers = array( "User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:25.0) Gecko/20100101 Firefox/25.0", //ユーザエージェントの指定 "Authorization: Basic".base64_encode('user:pass'),//ベーシック認証 "Accept: text/plain, */*; q=0.01", "Accept-Language: ja,en-us;q=0.7,en;q=0.3", "Accept-Encoding: gzip, deflate", "Content-Type: application/x-www-form-urlencoded; charset=UTF-8", "X-Requested-With: XMLHttpRequest", "Referer: https://www.fedex.com/fedextrack/?tracknumbers=~&locale=ja_JP&cntry_code=jp", "Content-Length: 512", "Cookie:", //クッキーは無くても別に問題ない。 "Connection: keep-alive", "Pragma: no-cache", "Cache-Control: no-cache" );

    • ベストアンサー
    • PHP

専門家に質問してみよう