使用 RestSharp 获取 Solvemedia 图像
Get Solvemedia image using RestSharp
我正在开发一个应用程序,需要在网站上进行查询以提取某些数据,例如用户名、积分/余额等
我在登录时出现问题,客户端需要解决一个验证码 solvemedia 才能进入网站,我想提取这个验证码的图像并显示给客户端,但我遇到了问题要提取它,我正在尝试使用 RestSharp 通过 http 请求来提取它,我不使用网络浏览器或 selenium 提取它的原因是它会花费更多的资源。
我试试这个:
RestClient restClient = new RestClient(@"//api-secure.solvemedia.com/papi/media?c=2@gAB09NHSertXLv3TnpobmKDxvkjsaT4m@X4wLMdkN.u0ENU8bgrS3KH9APTC4lJjokJaIfZePPIgNLL84QkOaQlXcxzHvOVTTU98Of7mo8BoC0QQuiH1RMqMrGof6BbL-tReeY8AHhPA7-nwvQKLqUEXQwTL4HhLXfZVre9jccpqQxFGIRYZH1ZQoAKCV5k1TGCLXXP9vMVsJFntDNz6Ozik02MANT1siBJRYTNIpGcj6p6Gbq5j0HvQChz7jtgdzwlj7nee0BdZphpg27ikQlVB5IUelMvSjzNNvPZawB9YbC9v6zyJngNQaJIJku2SPJkhFXIK0uoA;w=300;h=150;fg=000000;bg=f8f8f8");
var fileBytes = restClient.DownloadData(new RestRequest("#", Method.GET));
File.WriteAllBytes(Path.Combine(directory, "poster-got.jpg"), fileBytes);
问题是我只得到一张显示 "Media Error" 的图片,有什么方法可以获取请求登录页面时发送的图片吗?可以用restsharp完成吗? , 如果不是我可以用什么库来做?
下载图片我使用https://github.com/jgiacomini/Tiny.RestClient
但是当我尝试在浏览器中查看您的图片时出现媒体错误。我觉得你用错了url.
你的情况
使用 Tiny.RestClient;
var client = new TinyRestClient(new HttpClient(), "@"http//api-secure.solvemedia.com");
FileInfo fileInfo = await client.
GetRequest("papi/media").
AddQueryParameter("2@gAB09NHSertXLv3TnpobmKDxvkjsaT4m@X4wLMdkN.u0ENU8bgrS3KH9APTC4lJjokJaIfZePPIgNLL84QkOaQlXcxzHvOVTTU98Of7mo8BoC0QQuiH1RMqMrGof6BbL-tReeY8AHhPA7-nwvQKLqUEXQwTL4HhLXfZVre9jccpqQxFGIRYZH1ZQoAKCV5k1TGCLXXP9vMVsJFntDNz6Ozik02MANT1siBJRYTNIpGcj6p6Gbq5j0HvQChz7jtgdzwlj7nee0BdZphpg27ikQlVB5IUelMvSjzNNvPZawB9YbC9v6zyJngNQaJIJku2SPJkhFXIK0uoA;w=300;h=150;fg=000000;bg=f8f8f8").
DownloadFileAsync("c:\"poster-got.jpg");
我正在开发一个应用程序,需要在网站上进行查询以提取某些数据,例如用户名、积分/余额等
我在登录时出现问题,客户端需要解决一个验证码 solvemedia 才能进入网站,我想提取这个验证码的图像并显示给客户端,但我遇到了问题要提取它,我正在尝试使用 RestSharp 通过 http 请求来提取它,我不使用网络浏览器或 selenium 提取它的原因是它会花费更多的资源。
我试试这个:
RestClient restClient = new RestClient(@"//api-secure.solvemedia.com/papi/media?c=2@gAB09NHSertXLv3TnpobmKDxvkjsaT4m@X4wLMdkN.u0ENU8bgrS3KH9APTC4lJjokJaIfZePPIgNLL84QkOaQlXcxzHvOVTTU98Of7mo8BoC0QQuiH1RMqMrGof6BbL-tReeY8AHhPA7-nwvQKLqUEXQwTL4HhLXfZVre9jccpqQxFGIRYZH1ZQoAKCV5k1TGCLXXP9vMVsJFntDNz6Ozik02MANT1siBJRYTNIpGcj6p6Gbq5j0HvQChz7jtgdzwlj7nee0BdZphpg27ikQlVB5IUelMvSjzNNvPZawB9YbC9v6zyJngNQaJIJku2SPJkhFXIK0uoA;w=300;h=150;fg=000000;bg=f8f8f8");
var fileBytes = restClient.DownloadData(new RestRequest("#", Method.GET));
File.WriteAllBytes(Path.Combine(directory, "poster-got.jpg"), fileBytes);
问题是我只得到一张显示 "Media Error" 的图片,有什么方法可以获取请求登录页面时发送的图片吗?可以用restsharp完成吗? , 如果不是我可以用什么库来做?
下载图片我使用https://github.com/jgiacomini/Tiny.RestClient
但是当我尝试在浏览器中查看您的图片时出现媒体错误。我觉得你用错了url.
你的情况 使用 Tiny.RestClient;
var client = new TinyRestClient(new HttpClient(), "@"http//api-secure.solvemedia.com");
FileInfo fileInfo = await client.
GetRequest("papi/media").
AddQueryParameter("2@gAB09NHSertXLv3TnpobmKDxvkjsaT4m@X4wLMdkN.u0ENU8bgrS3KH9APTC4lJjokJaIfZePPIgNLL84QkOaQlXcxzHvOVTTU98Of7mo8BoC0QQuiH1RMqMrGof6BbL-tReeY8AHhPA7-nwvQKLqUEXQwTL4HhLXfZVre9jccpqQxFGIRYZH1ZQoAKCV5k1TGCLXXP9vMVsJFntDNz6Ozik02MANT1siBJRYTNIpGcj6p6Gbq5j0HvQChz7jtgdzwlj7nee0BdZphpg27ikQlVB5IUelMvSjzNNvPZawB9YbC9v6zyJngNQaJIJku2SPJkhFXIK0uoA;w=300;h=150;fg=000000;bg=f8f8f8").
DownloadFileAsync("c:\"poster-got.jpg");