Я пытаюсь захватить изображение из ответа HTTP в C#, но вместо изображения это один из этих перенаправлений. Вот соответствующий код:Схват изображения из ответа HTTP с помощью C#
String url = "my image URL that's actually a redirect URL"
Image img = null;
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
using (Stream str = response.GetResponseStream())
{
img = Image.FromStream(str);
}
}
Однако он продолжает говорить мне, что я не могу найти ответ. Я сохранил поток ответов в байте [], а затем распечатал его, и, как выяснилось, поток ответов на самом деле относится к странице перенаправления, а не к самому изображению, и что браузер заботится о том, чтобы через Javascript.
Как я могу поймать этот образ, если он никогда не передается в качестве ответа на мой первоначальный запрос? Я не знаю, как отслеживать последующие запросы моего браузера, и даже если я укажу поток на URL-адрес изображения, к которому он перенаправляется, он все равно дает мне те же проблемы и печатает один и тот же HTML-адрес переадресации.
Edit: Это страница Javascript, который загружается (вместо изображения) (есть также стандартные вещи, но это единственный скрипт на странице):
<script>
var escapedHash = '';
var url = 'https://login.salesforce.com/?ec=302&startURL=%2Fcontent%2Fsession%3Furl%3Dhttps%253A%252F%252Fc.na9.content.force.com%252Fprofilephoto%252F005%252FF';
if (window.location.hash) {
escapedHash = '%23' + window.location.hash.slice(1);
}
if (window.location.replace){
window.location.replace(url + escapedHash);
} else {;
window.location.href = url + escapedHash;
}
</script>
Почему бы не проверить js и выполнить логику там, в вашем приложении? – LawfulHacker
Я попытался вручную скопировать URL-адрес из JS в мое приложение, чтобы убедиться, что это сработает, но оно по-прежнему действует как перенаправление, а содержимое HTTP-ответа по-прежнему содержит страницу Javascript.: O – sichinumi