- ベストアンサー
WebClient()以外でネットにアクセス
System.Net.WebClient()で @マークが含まれるサイトへアクセスしようとすると WebClientのエラーでアクセスできませんでした。 おそらく@が含まれるURLをメールアドレスだとWebClientが誤認識しているようで 何か他のクラスの機能で情報をとれないものかと考えております。 そこでご質問です。 VisualBasic2010で、WebClient以外の方法でウェブから情報をとってくる方法はあるのでしょうか? それとも、DLL等で完全に外部のAPIを利用しないといけないのでしょうか? お詳しい方ご回答お願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
誤認識しているとするのは,WebExceptionのMessageにそのように書いてあったのでしょうか。 そもそも,WebClientがURIをメールアドレスであると認識するのはmailtoスキームの場合のみで, その場合は ・WebExceptionのMessage : WebClient 要求で例外が発生しました。 ・WebExceptionのInnerException : System.NotSupportedException ・NotSupportedExceptionのMessage : URI プレフィックスが認識されません。 となります。 本当にメールアドレスと認識されているのでしょうか。 例外のToString()の文字列の先頭行を提示してみてくれませんか。
その他の回答 (1)
- todo36
- ベストアンサー率58% (728/1234)
回答No.1
@ をURLエンコードして %40 とか。
補足
ご回答ありがとうございます。 エラーがでたURLを具体的に書くべきでした。 申し訳ありません。 アクセスしようとしたのはGmailにBasic認証共通でのアクセスです。 「https://ユーザー名:パスワード@gmail.google.com/gmail/feed/atom」 という書式でGmailのRSSフィードにアクセスしようとしたときにエラーが出ました。 エラー内容は以下のとおりです Dim net As New System.Net.WebClient() net.DownloadString("https://Googleアカウント:パスワード@gmail.google.com/gmail/feed/atom") NotSupportedExceptionはハンドルされませんでした。 指定されたパスのフォーマットはサポートされていません。 WebClientはhttpsに対応しているはずですし あとエラーの原因として考えられるのは@マークくらいかな?と思い 質問させていただきました。