スナックelve 本店

バツイチ40代女の日記です

No.1209 次の壁は503エラー

追記

今回のケースでは、対象のサイトは User-Agent がない場合は応答を拒否(503 エラーを返す)する設計・実装のようですね。
User-Agent に有意な値を入れてください。

https://goo.gl/bvQz1y

これ臭い! ということで

client.Headers["User-Agent"] = "myUserAgentString";

https://goo.gl/IttA2W

を追加したら503エラーは無くなったけど中身がnullのまま。
むーん

原文

んなわけではまっているのである。
まず、どうも被ブックマークの新着順は見られないようだと言うことなので
http://b.hatena.ne.jp/search/text?safe=off&q=elve&mode=rss&threshold=1&sort=eid
を取得してみようと思ったのだが・・・

using System;
using System.Xml;
using System.ServiceModel.Syndication;
using System.Web;
using System.Net;
using System.IO;
namespace WindowsFormsApp1
{
    class Class3
    {
        public string url_name {set;get;}
        public string url { get; set; }
        public Class3()
        {
            url_name = Properties.Settings.Default.url_name;
            url = "http://b.hatena.ne.jp/search/text?safe=off&q="+ url_name + "&mode=rss&threshold=1";
            var tmp = new HttpUtility();
            url = System.Web.HttpUtility.UrlPathEncode(url);

        }
        public string test()
        {
            WebClient web = new WebClient();
            Stream stream = web.OpenRead(url);//ここで例外発生
            //
      //略
      //
        }

じゃーjsonでとってみるかーってんで
http://b.hatena.ne.jp/entrylist/json?sort=eid&url=elve
に変えてみても・・・

        public string test2()
        {
            url = "http://b.hatena.ne.jp/entrylist/json?sort=eid&url=" + url_name;
            url = System.Web.HttpUtility.UrlPathEncode(url);

            WebClient web = new WebClient();
            Stream stream = web.OpenRead(url);//ここで例外発生
            //
      //略
      //
        }
    }
}

明日はなんかうまい方法が見つかるといいなぁ