curlで下記コマンドを実行した場合と同じことをWPFアプリでも実行したいと考えています。下記ソースコードで実行してみたのですが、サーバからエラーが返ってきます。body部へのパラメータ設定がよくわかっていないのですが、どこがおかしいかご教示願います。
curl
1curl -X POST -d "username=xxx&password=xxx" https://xxx/ -x http://xxx:xxx@xxx.xxx.xxx:8080
C#
1 string proxyAccount = ProxyUser.Text; 2 string proxyPassword = ProxyPassword.Text; 3 string proxyUrl = "http://" + Proxy.Text + ":" + Port.Text; 4 5 WebRequest.DefaultWebProxy.Credentials = new NetworkCredential(proxyAccount, proxyPassword); 6 7 // HttpClientHandlerにProxy情報を設定する 8 HttpClientHandler ch = new HttpClientHandler(); 9 ch.Proxy = new WebProxy(proxyUrl,false); 10 ch.Proxy.Credentials = new NetworkCredential(proxyAccount, proxyPassword); 11 ch.UseProxy = true; 12 13 HttpClient client = new HttpClient(ch); 14 15 Uri uri = new Uri(URL.Text); 16 17 client.DefaultRequestHeaders 18 .Accept 19 .Add(new MediaTypeWithQualityHeaderValue("application/json"));//ACCEPT header 20 21 HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, uri); 22 23 var contentList = new List<string>(); 24 contentList.Add("username=" + User.Text); 25 contentList.Add("password=" + Password.Text); 26 27 28 request.Content = new StringContent(string.Join("&",contentList), 29 Encoding.UTF8, 30 "application/json");//CONTENT-TYPE header 31 32 var task = await client.SendAsync(request);
追記
会社から支給されたセキュリティの設定が厳しいPCで試してします。
プロキシは越えられていますが、サーバからエラーが返ってきます。
確認したこと
curlコマンドは正常に実行できて、JSON形式のレスポンスを受信できました。
現状はサーバからエラーレスポンスが返ってきます。
Wiresharkで確認して所、パケットは送信されていて、プロキシも越えられています。
回答1件
あなたの回答
tips
プレビュー