Visual C++ / C++/cliのHTTPクライアントat TECH
Visual C++ / C++/cliのHTTPクライアント - 暇つぶし2ch1:デフォルトの名無しさん
15/12/12 15:37:36.43 Tj9TliY5.net
Visual C++ / C++/cliのHTTPクライアントを作成しているが、
うまくいかないURLがあります。
■概要
URLリンク(a.com)<)」「URLリンク(c.com)」などの他サイトの場合、正常にHTMLを取得できます。
■質問事項
上記が発生する原因と対策をご教授下さい。

2:デフォルトの名無しさん
15/12/12 15:38:15.27 Tj9TliY5.net
■環境
Microsoft Visual Studio Community 2013 Update 4
Visual C++ / C++/cli
Windows8.1

3:デフォルトの名無しさん
15/12/12 15:39:22.32 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:デフォルトの名無しさん
15/12/12 15:40:26.34 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:デフォルトの名無しさん
15/12/12 15:40:47.63 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:デフォルトの名無しさん
15/12/12 15:42:44.40 Tj9TliY5.net
●実行本文
CookieContainer^ main_cookies = gcnew CookieContainer();
//トップページ表示
HTTP^ http = gcnew HTTP("URLリンク(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:デフォルトの名無しさん
15/12/12 15:43:26.19 Tj9TliY5.net
大変困っています。どなかたご教授頂きますよう、
お願い申し上げます。

8:デフォルトの名無しさん
15/12/12 15:48:46.69 iI1oyV8R.net
>>1
単発質問スレを立てるな

9:デフォルトの名無しさん
15/12/12 16:49:51.51 Tj9TliY5.net
>>8
なもぶん初心者なもので
他の方々、ご回答お待ちしております。
どうぞご教授下さいませ。

10:デフォルトの名無しさん
15/12/12 17:44:33.15 bGGVK1E5.net
馬鹿には無理

11:デフォルトの名無しさん
15/12/12 23:55:50.12 Tj9TliY5.net
どなたか分かる方はいらっしゃらないでしょうか

12:デフォルトの名無しさん
15/12/13 00:01:09.92 G+bJpCOE.net
マルチポストのマナーぐらい守ろうな
初心者ならC++/CLIなんて使うな

13:デフォルトの名無しさん
15/12/13 00:04:29.64 Wcw8JgGx.net
>>12
なら解決方法をご教授いただけますでしょうか。

14:デフォルトの名無しさん
15/12/13 00:05:59.64 JyGG1Hej.net
うちのスーパープログラマーが
10分で1000ステップこなせると豪語していたのですが、
そんなに短時間で大量のコード打ち込むことあるんでしょうか??

15:デフォルトの名無しさん
15/12/13 00:33:15.83 G+bJpCOE.net
まず、マルチポスト先全てに相互リンクをはる
他のところで回答があればそれをすべてのところで知らせる
まずはそれだな
他のとこですでに指摘を受けてんだから

16:デフォルトの名無しさん
15/12/13 00:43:42.16 Wcw8JgGx.net
>>1
>>2
>>3
>>4
>>5
>>6
どなたかご教授お願いします。

17:デフォルトの名無しさん
15/12/13 11:52:05.63 dMx4dI39.net
おことわりします

18:デフォルトの名無しさん
15/12/13 17:13:37.87 Vc5sQ8jF.net
初心者なら何をやっても許されるw

19:片山博文MZ ◆T6xkBnTXz7B0
15/12/13 17:19:35.77 puMyoqPQ.net
初心者がHTTPクライアントをゼロから作るだと?! あり得ない!

20:デフォルトの名無しさん
15/12/13 17:28:02.74 Vc5sQ8jF.net
片山の面子丸つぶれw

21:デフォルトの名無しさん
15/12/14 07:48:28.92 vCFPKOAB.net
単質スレ立てた時点で回答はつかないと思え。
年出精値引きで25万円で作ってやるよ

22:デフォルトの名無しさん
15/12/17 17:22:20.36 Szn4FINI.net
curl

23:デフォルトの名無しさん
15/12/17 22:21:30.66 ORM8WttR.net
おやつはカール

24:デフォルトの名無しさん
15/12/19 09:15:01.49 zsWJQfw7.net
プログラマはMacを使ってるってマジ?
スレリンク(news板)

25:デフォルトの名無しさん
16/01/28 22:03:18.54 5vQwMO3l.net
!!2ちゃんねらーが稼ぐならこれだよ
URLリンク(goo.gl)


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch