Tag: http

使用HttpWebRequest登录WordPress

我正在尝试使用HttpWebRequest在wordpress博客中自动化一些东西。 我试图获取登录页面”http://mywebsite.net/wp-admin” 然后尝试在页面上发布登录数据 “ http://www.mywebsite.net/wp-login.php”data =“log = admin&pwd = mypassword&wp-submit = Log + In&redirect_to = http%3A%2F%2Fmywebsite.net%2Fwp-admin%2F&testcookie = 1” 我无法登录,我发现,当使用浏览器将cookie发送到服务器时,但是使用HttpWebrequest时,cookie不会发送到post上,我为httpwebrequest配置了一个cookiecontainer并且工作正常。 。 并且在“发布”请求主机也更改为“www.mywebsite.net”并在“获取”请求它是“mywebsite.net” 请任何人指导我完成解决方案。

什么是短语“HTTP.SYS中的URL保留”是什么意思?

无法理解这句话的意思。 论坛上的人建议彼此在HTTP.sys中保留url,但这是什么意思? 它是为了什么? 它是如何工作的? 它全部来自HttpWebRequest uac问题。

具有HTTP请求的代理

是否可以通过将主机指定为代理来通过代理路由GET请求? 或者你必须设置数据包的目的地? 我正在尝试生成HTTPRequestMessage并通过代理路由它。 但是,我没有精确的级别控制来设置发送请求的目的地。

使用HttpListener

我有以下HTTP侦听器方法,受到MSDN使用HttpListener类的示例的启发。 我对编程很新,我不知道从哪里开始从我的Main()初始化它。 有什么建议? public static void HttpListener(string[] prefixes) { if (prefixes == null || prefixes.Length == 0) throw new ArgumentException(“Prefixes needed”); HttpListener listener = new HttpListener(); foreach (string s in prefixes) { listener.Prefixes.Add(s); } listener.Start(); Console.WriteLine(“Listening..”); HttpListenerContext context = listener.GetContext(); HttpListenerRequest request = context.Request; HttpListenerResponse response = context.Response; string responseString = ” Test “; byte[] […]

C#validation签名

我有以下代码在发送之前签署我的数据(http): internal static byte[] Encode(byte[] arMessage, string signerCert, string signerPassword) { X509Certificate2 cert = new X509Certificate2(signerCert, signerPassword); //debug data var msg = System.Text.ASCIIEncoding.ASCII.GetString(arMessage); //– ContentInfo contentInfo = new ContentInfo(arMessage); SignedCms signedCms = new SignedCms(contentInfo, true); // <- true detaches the signature CmsSigner cmsSigner = new CmsSigner(cert); signedCms.ComputeSignature(cmsSigner); byte[] signature = signedCms.Encode(); return signature; } 执行以下操作后,我可以看到签名: […]

使用API​​Controller补充序列化

我们有多个API控制器接受GET请求,如下所示: //FooController public IHttpActionResult Get([FromUri]Foo f); //BarController public IHttpActionResult Get([FromUri]Bar b); 现在 – 我们希望(或者,被迫) 全局更改GET查询字符串中的DateTime字符串格式 “yyyy-MM-ddTHH:mm:ss” -> “yyyy-MM-ddTHH.mm.ss” 更改后,包含DateTime类型的类的所有[FromUri]序列化都将失败。 有没有办法补充[FromUri]序列化以接受查询字符串中的DateTime格式? 或者我们是否必须为所有API参数构建自定义序列化以支持新的DateTime字符串格式? 编辑 :请求的示例 public class Foo { public DateTime time {get; set;} } //FooController. Let’s say route is api/foo public IHttpActionResult Get([FromUri]Foo f); GET api/foo?time=2017-01-01T12.00.00

我应该在post或url中存储_method = PUT / DELETE

我正在使用ASP.NET MVC来构建RESTful Web应用程序,我计划通过POST隧道传递PUT和DELETE请求,因为它似乎是最实用的解决方法。 我想知道的是,我应该通过这样的url传递信息: 或者我应该通过发布的表单数据进行隧道传输,如下所示: 各自的优点和缺点是什么? 编辑:我提出这个问题的原因之一是我在某个地方读到将这样的信息放在url中是一件好事,因为post数据通常会丢失,但url会挂起(在日志文件中等) – 不幸的是它会使url看起来很难看

ASP MVC和WinForm应用程序之间的通信

我正在寻找用户可以在ASP和Winform应用程序之间进行通信的方式。 我正在寻找像soluto.com这样的东西,我想让用户通过网站向其他计算机发送命令。 因此,假设用户注册了10台计算机,这些计算机已在mvc应用程序上注册。 用户可以选择所有10台计算机,并通过单击按钮发送“执行此任务”。 我想的是,Winform将创建一个httplisten服务器。 每次winform打开时,它都会向mvc发送一个“我在线”的post以及IP:端口。 服务器将在需要时向该ip:端口发送请求。 这种方法似乎非常不安全,有一个开放的端口,配置防火墙等,似乎是一种矫枉过正。 我想知道是否有任何其他方式来实现这一点。 感谢您的帮助。 PS在您宣称这是一个愚蠢的想法之前,Piriform也在做这样的事情。 看看Agomo.com

HttpClient – 如何判断服务器是否更快停机?

我正在使用.NET HttpClient向我的服务器发送请求。 我已将HttpClient.Timeout属性设置为10秒,因此每当服务器在不到10秒内无法处理我的请求时,我就会获得A task was cancelledexception。 好到这里。 但是,如果关闭服务器, HttpClient大约20秒才能返回正确的exception,例如图片中的exception。 我希望看到这个exception超过1​​0秒能够区分Server Down和Operation花费太长时间的情况。 我在msdn文档中找不到任何相关内容。 是否可以在HttpClient上设置超时? 这是我如何构建HttpClient var webRequestHandler = new WebRequestHandler { UseProxy = false, Proxy = null, AllowPipelining = false, ContinueTimeout = TimeSpan.Zero, UseCookies = false, AllowAutoRedirect = false, }; var httpClient = new HttpClient(webRequestHandler); httpClient.Timeout = timeout; httpClient.DefaultRequestHeaders.TryAddWithoutValidation(“Accept”, “application/json”); httpClient.DefaultRequestHeaders.TryAddWithoutValidation(“User-Agent”, userAgent); httpClient.DefaultRequestHeaders.ExpectContinue = false;

设置Context.Response.StatusCode似乎不起作用

我有一个HttpHandler,代码如下: using System; using System.Web; using Company.Cms; using Company.Web.Handlers.Console; namespace Company.Web.Handlers { /// /// Summary description for AdminHandler /// public class AdminHandler : IHttpHandler { public bool IsReusable { get { return false; } } public void ProcessRequest(HttpContext context) { HttpRequest request = context.Request; HttpResponse response = context.Response; string action = request.QueryString[“action”]; if (!HttpContext.Current.User.CanAdminister()) { […]