我创建了一个C#程序,用电影的标题搜索电影细节。 我创建链接:
string link = "https://itunes.apple.com/search?";
link += "term=";
string cTitle = Titel.Replace(" ", "+");
link += cTitle;
link += "&country=DE";
link += "&media=movie";
link += "&entity=movie";
link += "&attribute=movieTerm";
link += "&limit=1";
电影名称"巴士657"这将是以下链接:
如果我打开该链接,我会得到一个包含我需要的结果的txt文件。但如果我使用以下代码在c#中得到它:
WebClient client = new WebClient();
var json = client.DownloadString(link);
Thread.Sleep(3100);
我得到0结果。 有人可以帮我解决这个问题吗?
我有很多电影片名,其标题是由德国商店的原始iTunes标题命名的。
Thx:)
答案 0 :(得分:1)
将用户代理添加到请求标头并尝试。
WebClient client = new WebClient();
client.Headers.Add("user-agent","Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36");
var json = client.DownloadString(link);
我收到了"resultCount":1
答案 1 :(得分:0)
您的链接错误。
你有:
BZZZZT - should be %20
↓
https://itunes.apple.com/search?term=Bus+657&country=DE&media=movie&entity=movie&attribute=movieTerm&limit=1
您的电影名称是“Bus 657”。该空格应编码为%20
,而不是+
。您的链接应该是:
https://itunes.apple.com/search?term=Bus%20657&country=DE&media=movie&entity=movie&attribute=movieTerm&limit=1
通过更正的链接,您可以获得结果。您应该使用HttpServerUtility.UrlEncode
或其他一些功能对URL进行正确的URL编码。或者使用UriBuilder
类构建您的网址。