如何在Asp.NET中获取url响应值

Gig*_*m02 9 c# asp.net twitter

我几乎敢问,但我如何获得URL的响应数据?我再也记不住了.

我的场景:我正在使用twitter api来获取用户的个人资料图片.该api url返回jpg位置.所以如果我真的在我的视图中写这个HTML:

<img src="https://api.twitter.com/1/users/profile_image?screen_name=twitterapi&size=bigger"/> 
Run Code Online (Sandbox Code Playgroud)

浏览器自动将响应jpg用于src popertie.像这样:

现在我的问题非常简单:如何在C#中获取.jpg位置以放入我的数据库?

Tim*_*erz 13

我不确定你在问什么.

我想你可以用WebClient.DownloadDatac#来调用那个url.下载文件后,可以将其放在数据库中.

byte[] response = new System.Net.WebClient().DownloadData(url);
Run Code Online (Sandbox Code Playgroud)

通过HTTP将文件下载到C#中的字节数组中?

编辑:这是为我工作

WebRequest request = WebRequest.Create("https://api.twitter.com/1/users/profile_image?screen_name=twitterapi&size=bigger");
WebResponse response = request.GetResponse();
Console.WriteLine(response.ResponseUri);

Console.Read( );
Run Code Online (Sandbox Code Playgroud)

一种方法来找出重定向URL

编辑:这是我认为的另一种方法...使用show.json来读取图像的绝对重定向SRC属性URL

http://api.twitter.com/1/users/show.json?screen_name=twitterapi


Dav*_*den 7

你也可以使用HttpClient来做到这一点:

public class UriFetcher
{
    public Uri Get(string apiUri)
    {
        using (var httpClient = new HttpClient())
        {
            var httpResponseMessage = httpClient.GetAsync(apiUri).Result;
            return httpResponseMessage.RequestMessage.RequestUri;
        }
    }
}

[TestFixture]
public class UriFetcherTester
{
    [Test]
    public void Get()
    {
        var uriFetcher = new UriFetcher();
        var fetchedUri = uriFetcher.Get("https://api.twitter.com/1/users/profile_image?screen_name=twitterapi&size=bigger");
        Console.WriteLine(fetchedUri);
    }
}
Run Code Online (Sandbox Code Playgroud)