Я пытался создать небольшое приложение, использующее API Discogs для личного использования, для поиска отдельных исполнителей и их альбомов, которое до сих пор работало с использованием неофициального приложения Discogs C #.Теперь проблема в том, что единственный способ извлечь треклист из альбома - это использовать ресурсный URL, который я получаю из каждого запроса альбома (например, https://api.discogs.com/releases/2890373).
Я пытался извлечь .json из каждого URLи я продолжаю получать сообщение об ошибке ResponseLine даже с соответствующими заголовками.
Добавлен заголовок авторизации с моим потребительским ключом и секретным ключом, lke this:
httpWebRequest.Headers.Add("Authorization", "Discogs key=xxx, secret=yyy");
... добавил UserAgent и онвсе еще не работает.
Я пробовал то же самое в Python, и он работал отлично, но я не хочу запускать приложение Python каждый раз, когда мне нужна информация об альбоме.
private void scrape_button_Click(object sender, EventArgs e) {
HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create("https://api.discogs.com/releases/2890373");
httpWebRequest.Method = WebRequestMethods.Http.Get;
httpWebRequest.Timeout = 12000;
httpWebRequest.ContentType = "application/vnd.discogs.v2.html+json";
httpWebRequest.Headers.Add("UserAgent", "matija_search/0.1");
string file;
var response = (HttpWebResponse)httpWebRequest.GetResponse();
using(var sr = new StreamReader(response.GetResponseStream())) {
file = sr.ReadToEnd();
}
}
Это кнопка, которая пытается получить данные.
import requests
import json
info = requests.get('https://api.discogs.com/releases/2890373')
data = info.json()
with open('data.json', 'w') as f:
json.dump(data, f)
Это эквивалент Python, который на самом деле работает ...