Я использую API this, который принимает изображение и отправляет его описание. Согласно документации, локоны выглядят следующим образом:опрос с HttpWebRequest
curl -i -X POST \
-H "Authorization: CloudSight [key]" \
-F "image_request[image][email protected]" \
-F "image_request[locale]=en-US" \
https://api.cloudsightapi.com/image_requests
Мой код для отправки запроса, как показано ниже:
var request = (HttpWebRequest)WebRequest.Create(cloudsight_url);
request.Method = "POST";
request.Headers.Add("Authorization", "CloudSight R6USrcKxMym0EP2peuYtVA");
string s1 = string.Format("image_request[locale]={0}&image_request[remote_image_url]={1}", "en-US", imgurl);
// Send Data
StreamWriter myWriter = null;
myWriter = new StreamWriter(request.GetRequestStream());
myWriter.Write(s1);
myWriter.Close();
var response1 = (HttpWebResponse)request.GetResponse();
string result2 = "";
using (StreamReader streamReader = new StreamReader(response1.GetResponseStream()))
{
var output = streamReader.ReadToEnd();
streamReader.Close();
result2 = output.ToString();
}
Запроса успешно отправлен, однако служба возвращает { "status" : "not completed" }
. В документах говорится о продолжении опроса для ответа до получения ответа { "status" : "completed" }
. Как это сделать?
Какую часть веб-запроса http я буду помещать внутри цикла? Не будет ли он повторять один и тот же запрос снова и снова? – psyoptica
В соответствии с документацией вы получаете токен из '/ image_requests'. Затем вы отправляете этот токен на запрос ответа на изображение. – MeterLongCat
Да, но токен не работает для неполного запроса. Или вы хотите сказать, что мне нужно использовать этот токен, чтобы отправить другой запрос и так далее? – psyoptica