{"action":"opened","issue":{"url":"https://api.github.com/repos/snarfed/bridgy/issues/358","labels_url":"https://api.github.com/repos/snarfed/bridgy/issues/358/labels{/name}","comments_url":"https://api.github.com/repos/snarfed/bridgy/issues/358/comments","events_url":"https://api.github.com/repos/snarfed/bridgy/issues/358/events","html_url":"https://github.com/snarfed/bridgy/issues/358","id":55981948,"number":358,"title":"403 errors on wordpress, specifically jeanmrussell.com due to User-Agent blocking","user":{"login":"kevinmarks","id":99008,"avatar_url":"https://avatars.githubusercontent.com/u/99008?v=3","gravatar_id":"","url":"https://api.github.com/users/kevinmarks","html_url":"https://github.com/kevinmarks","followers_url":"https://api.github.com/users/kevinmarks/followers","following_url":"https://api.github.com/users/kevinmarks/following{/other_user}","gists_url":"https://api.github.com/users/kevinmarks/gists{/gist_id}","starred_url":"https://api.github.com/users/kevinmarks/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kevinmarks/subscriptions","organizations_url":"https://api.github.com/users/kevinmarks/orgs","repos_url":"https://api.github.com/users/kevinmarks/repos","events_url":"https://api.github.com/users/kevinmarks/events{/privacy}","received_events_url":"https://api.github.com/users/kevinmarks/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-01-30T01:12:40Z","updated_at":"2015-01-30T01:12:40Z","closed_at":null,"body":"see https://www.brid.gy/log?start_time=1422522696&key=aglzfmJyaWQtZ3lyGAsSB1R3aXR0ZXIiC051cnR1cmVHaXJsDA\r\n\r\nand previous discussions - @snarfed could repro with:\r\n\r\nhttp://indiewebcamp.com/irc/2015-01-28/line/1422502560154\r\n```\r\nimport requests; requests.get('http://www.jeanmrussell.com/testing-brid-gy/')\r\n```\r\nif I change the useragent, I get a 200, so this is a naive scraper preventer:\r\n\r\n```\r\n>>> import requests; r=requests.get('http://www.jeanmrussell.com/testing-brid-gy/')\r\n<Response [403]>\r\n>>> r.request.headers\r\n{'Connection': 'keep-alive', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'User-Agent': 'python-requests/2.4.0 CPython/2.7.6 Darwin/13.4.0'}\r\n\r\n>>> r2=requests.get('http://www.jeanmrussell.com/testing-brid-gy/', headers={'User-Agent':'brid.gy'})<Response [200]>\r\n>>> r2.request.headers\r\n{'Connection': 'keep-alive', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'User-Agent': 'brid.gy'}\r\n```\r\nso bridgy should set its own useragent so that it can be specifically blocked or accepted\r\n\r\n\r\n\r\n\r\n\r\n"}}