電子書籍の厳選無料作品が豊富!

System.Net.WebClient()で
@マークが含まれるサイトへアクセスしようとすると
WebClientのエラーでアクセスできませんでした。

おそらく@が含まれるURLをメールアドレスだとWebClientが誤認識しているようで
何か他のクラスの機能で情報をとれないものかと考えております。

そこでご質問です。
VisualBasic2010で、WebClient以外の方法でウェブから情報をとってくる方法はあるのでしょうか?
それとも、DLL等で完全に外部のAPIを利用しないといけないのでしょうか?

お詳しい方ご回答お願いします。

A 回答 (2件)

誤認識しているとするのは,WebExceptionのMessageにそのように書いてあったのでしょうか。


そもそも,WebClientがURIをメールアドレスであると認識するのはmailtoスキームの場合のみで,
その場合は
・WebExceptionのMessage : WebClient 要求で例外が発生しました。
・WebExceptionのInnerException : System.NotSupportedException
・NotSupportedExceptionのMessage : URI プレフィックスが認識されません。
となります。

本当にメールアドレスと認識されているのでしょうか。
例外のToString()の文字列の先頭行を提示してみてくれませんか。

この回答への補足

ご回答ありがとうございます。
エラーがでた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に対応しているはずですし
あとエラーの原因として考えられるのは@マークくらいかな?と思い
質問させていただきました。

補足日時:2012/02/14 16:14
    • good
    • 0

@ をURLエンコードして %40 とか。

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!