- 1 名前:デフォルトの名無しさん [2015/12/12(土) 15:37:36.43 ID:Tj9TliY5.net]
- Visual C++ / C++/cliのHTTPクライアントを作成しているが、
うまくいかないURLがあります。 ■概要 「a.com」へアクセスしてレスポンスbodyを見ると、 文字化けした文字が1文字のみ(�)入っていて、正常にHTMLを取得できません。 なお「b.com」「c.com」などの他サイトの場合、正常にHTMLを取得できます。 ■質問事項 上記が発生する原因と対策をご教授下さい。
- 2 名前:デフォルトの名無しさん [2015/12/12(土) 15:38:15.27 ID:Tj9TliY5.net]
- ■環境
Microsoft Visual Studio Community 2013 Update 4 Visual C++ / C++/cli Windows8.1
- 3 名前:デフォルトの名無しさん [2015/12/12(土) 15:39:22.32 ID:Tj9TliY5.net]
- ■ソースコード
●クラス定義 public ref class HTTP{ private: HttpWebRequest^ req; HttpWebResponse^ res; Encoding^ enc; Stream^ st; StreamReader^ sr; public: HttpStatusCode return_statuscord; WebHeaderCollection^ return_header; String^ return_body;
- 4 名前:デフォルトの名無しさん [2015/12/12(土) 15:40:26.34 ID:Tj9TliY5.net]
- HTTP(String^ url,String^ referer,int timeout_second,int enc_classification,CookieContainer^ cc,bool aar_flag,int ua_classification,NetworkCredential^ credent){
req = (HttpWebRequest^)WebRequest::Create(url); req->Timeout = timeout_second * 1000; req->CookieContainer = cc; req->Accept = "text/html, application/xhtml+xml, */* "; if(referer!=""){ req->Referer = referer; } req->Headers->Add("Accept-Language", "ja-JP"); req->Headers->Add("Accept-Encoding", "gzip, deflate"); req->KeepAlive = true; req->AllowAutoRedirect = aar_flag; req->Credentials = credent; if(ua_classification == 1){ req->UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"; } else{ req->UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"; } if(enc_classification == 1){ enc = Encoding::GetEncoding("utf-8"); } else if(enc_classification == 2){ enc = Encoding::GetEncoding("Shift_JIS"); } else if(enc_classification == 3){ enc = Encoding::GetEncoding("euc-jp"); } else{ enc = Encoding::GetEncoding("utf-8"); } }
- 5 名前:デフォルトの名無しさん [2015/12/12(土) 15:40:47.63 ID:Tj9TliY5.net]
- bool GET(){
try{ req->Method = "GET"; res = (HttpWebResponse^)req->GetResponse(); return_statuscord = res->StatusCode; return_header = res->Headers; st = res->GetResponseStream(); sr = gcnew StreamReader(st, enc); return_body = sr->ReadToEnd(); sr->Close(); st->Close(); }catch(Exception^ ex){ ex; return false; } return true; } };
- 6 名前:デフォルトの名無しさん [2015/12/12(土) 15:42:44.40 ID:Tj9TliY5.net]
- ●実行本文
CookieContainer^ main_cookies = gcnew CookieContainer(); //トップページ表示 HTTP^ http = gcnew HTTP("a.com/" , "" , 30 , 1, main_cookies , true , 1 , gcnew NetworkCredential()); if( http->GET() ){ デバック表示関数(http->return_body + " " + http->return_header + " " + http->return_statuscord.ToString() + "\n"); //★↑この表示が 文字化けした文字1文字のみ(�)となる http->return_headerとhttp->return_statuscordは空NULL★ }
- 7 名前:デフォルトの名無しさん [2015/12/12(土) 15:43:26.19 ID:Tj9TliY5.net]
- 大変困っています。どなかたご教授頂きますよう、
お願い申し上げます。
- 8 名前:デフォルトの名無しさん mailto:sage [2015/12/12(土) 15:48:46.69 ID:iI1oyV8R.net]
- >>1
単発質問スレを立てるな
- 9 名前:デフォルトの名無しさん [2015/12/12(土) 16:49:51.51 ID:Tj9TliY5.net]
- >>8
なもぶん初心者なもので 他の方々、ご回答お待ちしております。 どうぞご教授下さいませ。
- 10 名前:デフォルトの名無しさん mailto:sage [2015/12/12(土) 17:44:33.15 ID:bGGVK1E5.net]
- 馬鹿には無理
- 11 名前:デフォルトの名無しさん [2015/12/12(土) 23:55:50.12 ID:Tj9TliY5.net]
- どなたか分かる方はいらっしゃらないでしょうか
- 12 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 00:01:09.92 ID:G+bJpCOE.net]
- マルチポストのマナーぐらい守ろうな
初心者ならC++/CLIなんて使うな
- 13 名前:デフォルトの名無しさん [2015/12/13(日) 00:04:29.64 ID:Wcw8JgGx.net]
- >>12
なら解決方法をご教授いただけますでしょうか。
- 14 名前:デフォルトの名無しさん [2015/12/13(日) 00:05:59.64 ID:JyGG1Hej.net]
- うちのスーパープログラマーが
10分で1000ステップこなせると豪語していたのですが、 そんなに短時間で大量のコード打ち込むことあるんでしょうか??
- 15 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 00:33:15.83 ID:G+bJpCOE.net]
- まず、マルチポスト先全てに相互リンクをはる
他のところで回答があればそれをすべてのところで知らせる まずはそれだな 他のとこですでに指摘を受けてんだから
- 16 名前:デフォルトの名無しさん [2015/12/13(日) 00:43:42.16 ID:Wcw8JgGx.net]
- >>1
>>2 >>3 >>4 >>5 >>6 どなたかご教授お願いします。
- 17 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 11:52:05.63 ID:dMx4dI39.net]
- おことわりします
- 18 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 17:13:37.87 ID:Vc5sQ8jF.net]
- 初心者なら何をやっても許されるw
- 19 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2015/12/13(日) 17:19:35.77 ID:puMyoqPQ.net]
- 初心者がHTTPクライアントをゼロから作るだと?! あり得ない!
- 20 名前:デフォルトの名無しさん mailto:sage [2015/12/13(日) 17:28:02.74 ID:Vc5sQ8jF.net]
- 片山の面子丸つぶれw
- 21 名前:デフォルトの名無しさん mailto:sage [2015/12/14(月) 07:48:28.92 ID:vCFPKOAB.net]
- 単質スレ立てた時点で回答はつかないと思え。
年出精値引きで25万円で作ってやるよ
- 22 名前:デフォルトの名無しさん [2015/12/17(木) 17:22:20.36 ID:Szn4FINI.net]
- curl
- 23 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 22:21:30.66 ID:ORM8WttR.net]
- おやつはカール
- 24 名前:デフォルトの名無しさん [2015/12/19(土) 09:15:01.49 ID:zsWJQfw7.net]
- プログラマはMacを使ってるってマジ?
hayabusa3.2ch.net/test/read.cgi/news/1450395043/
- 25 名前:デフォルトの名無しさん [2016/01/28(木) 22:03:18.54 ID:5vQwMO3l.net]
- !!2ちゃんねらーが稼ぐならこれだよ
goo.gl/BJ5RuV
|

|