我正在尝试访问同一域/同一个asp.net应用程序的网页,这是受密码保护的.对于发起此呼叫的网页和正在访问的网页,凭据都是相同的.
这是代码,我不知道为什么我总是以登录表单html代码结束?
using (WebClient client = new WebClient())
{
client.QueryString.Add("ID", "1040"); //add parameters
//client.Credentials = CredentialCache.DefaultCredentials;
//I tried to add credentials like this
client.Credentials = new NetworkCredential("username", "password");
string htmlCode = client.DownloadString("http://domain.loc/testpage.aspx");
}
Run Code Online (Sandbox Code Playgroud) 我想打开一个需要基本身份验证的页面.我想将基本身份验证标头与URL一起传递给浏览器.
我怎样才能做到这一点?
我正在尝试使用WebClient/ 访问网站上的受限数据WebRequest.该网站没有官方API,所以我要做的就是填写HTML表单并将值发布到服务器,这样我就登录了.
后一个例子更吸引人,因为我显然更喜欢WebClient,但遗产WebRequest会做.
无论如何,在第一个例子中,我认为它确实登录了,但即将到来的访问私有数据的请求返回一个页面,其中包含消息"这是仅限会员的内容".
如何WebClient永久登录?
使用Silverlight Windows Phone 8.1项目
我正在尝试从网站加载数据.不过,我必须首先在该网站进行身份验证.所以我在网站上发帖子,使用这里的CookieAwareWebClient的轻微修改版本.
class CookieAwareWebClient : WebClient
{
public CookieContainer Cookies = new CookieContainer();
protected override WebRequest GetWebRequest(Uri address)
{
var request = base.GetWebRequest(address);
if (request is HttpWebRequest)
(request as HttpWebRequest).CookieContainer = Cookies;
return request;
}
}
Run Code Online (Sandbox Code Playgroud)
现在我做的WebClient发送POST与Username和Password继续让我的网站async和我的处理现场数据DownloadStringCompleted-EventHandler.到现在为止还挺好.现在我想扩展它并获得多个网站.
我不必一次性完成所有这些,事实上,让它们一个接一个地更好.
但我不知道该怎么做.
我的代码到目前为止:
using System;
using System.Net;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using Windows.Web.Http;
using Microsoft.Phone.Shell;
using StackOverflowApp.Resources;
namespace StackOverflowApp
{ …Run Code Online (Sandbox Code Playgroud) c# ×4
webclient ×3
.net ×1
.net-4.0 ×1
asp.net ×1
asynchronous ×1
cookies ×1
credentials ×1
forms ×1
login ×1
webrequest ×1