C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

WebAPIを呼び出したい

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■84859 / inTopicNo.1)  WebAPIを呼び出したい
  
□投稿者/ nana* (1回)-(2017/08/09(Wed) 19:45:33)

分類:[.NET 全般] 

ずーっと悩んでいるのですが、どうしても分からないので教えてください。

.NET のWebアプリケーションを作成し、画面の「OK」ボタンを押下すると市販のWeb APIを呼び出そうとしています。
フォーマットJsonです。
以下のようなコードを書いてみたのですが、「var res = httpWebRequest.GetResponse();」の箇所で必ず
リモート サーバーがエラーを返しました: (407) プロキシ認証が必要です
エラーが発生します。
tmpBaseUrlをブラウザのアドレスバーに直接入力すると期待通りのJSonフォーマットのファイルを取得できます。
いったい、何が悪いんでしょうか・・・
いくら考えてもわかりません。
どうか、有識者の皆様お力添え頂けますようお願いします!!!

string tmpBaseUrl = "https://randomuser.me/api?callback=jsonData";
var httpWebRequest = (HttpWebRequest)WebRequest.Create(tmpBaseUrl);
httpWebRequest.ContentType = "application/json";
httpWebRequest.Accept = "application/json";
httpWebRequest.Method = "POST";

var res = httpWebRequest.GetResponse();
//System.IO.Stream reqStream = httpWebRequest.GetRequestStream();

引用返信 編集キー/
■84860 / inTopicNo.2)  Re[1]: WebAPIを呼び出したい
□投稿者/ もりお (46回)-(2017/08/09(Wed) 20:16:43)
No84859 (nana* さん) に返信

ブラウザでアクセスするときのリクエストメソッドはGETですよね。
プログラムはPOSTになってるのでそこのところでいい感じにならないですかね。
引用返信 編集キー/
■84862 / inTopicNo.3)  Re[2]: WebAPIを呼び出したい
□投稿者/ nana* (2回)-(2017/08/09(Wed) 20:34:53)
No84860 (もりお さん) に返信
> ■No84859 (nana* さん) に返信
>
> ブラウザでアクセスするときのリクエストメソッドはGETですよね。
> プログラムはPOSTになってるのでそこのところでいい感じにならないですかね。

もりおさん、早速のお返事ありがとうございます!

>ブラウザでアクセスするときのリクエストメソッドはGETですよね。
自分、Postしてからリクエスト結果を取得するのだと思っていました・・

httpWebRequest.Method = "POST";

httpWebRequest.Method = "GET";
として試してみましたが、結果は同じでした・・
何か修正方法が間違っていますでしょうか
うーん・・・
引用返信 編集キー/
■84864 / inTopicNo.4)  Re[1]: WebAPIを呼び出したい
□投稿者/ Azulean (848回)-(2017/08/09(Wed) 21:19:22)
相互にリンクを貼っておきます。
https://social.msdn.microsoft.com/Forums/ja-JP/d59c00e2-d3f4-4849-a0ad-942d7ab3eafc/jsonwebapi?forum=aspnetja

No84859 (nana* さん) に返信
> リモート サーバーがエラーを返しました: (407) プロキシ認証が必要です

あなたの環境はプロキシを使っていますか?
Yes であれば、プロキシ認証を通すためのコード、あるいは設定をした上の話ですか?

たとえば、www.yahoo.co.jp の内容を取得するだけでも同じエラーになりませんか?
引用返信 編集キー/
■84866 / inTopicNo.5)  Re[3]: WebAPIを呼び出したい
□投稿者/ nana* (3回)-(2017/08/09(Wed) 21:48:49)
No84862 (nana* さん) に返信
> ■No84860 (もりお さん) に返信
>>■No84859 (nana* さん) に返信
>>
>>ブラウザでアクセスするときのリクエストメソッドはGETですよね。
>>プログラムはPOSTになってるのでそこのところでいい感じにならないですかね。
>
> もりおさん、早速のお返事ありがとうございます!
>
> >ブラウザでアクセスするときのリクエストメソッドはGETですよね。
> 自分、Postしてからリクエスト結果を取得するのだと思っていました・・
>
> httpWebRequest.Method = "POST";
> ↓
> httpWebRequest.Method = "GET";
> として試してみましたが、結果は同じでした・・
> 何か修正方法が間違っていますでしょうか
> うーん・・・

すみません、自己解決しました。
数日前から環境構成に変更があり、プロキシ必須になっていました。
「プロキシを利用しない環境だから」
と思い込みがありましたが、エラーメッセージは信じるべきですね。
プロキシを設定したら問題なく動作しました。

回答くださった方、ありがとうございました。


解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ