有时我的某些网站存在问题
获取下一个错误
远程服务器返回错误:(403)禁止
这是我的代码:
Imports System.Text
Imports System.Net
Imports System.Net.CookieContainer
Imports System.IO
Imports System.Text.RegularExpressions
Imports System.Web
Public Class Form1
Dim cc As New CookieContainer
Dim Request As HttpWebRequest
Dim Response As HttpWebResponse
Dim Regex As String
Public Function GetResponse(ByVal url As String, ByVal referer As String) As
String
Request = CType(HttpWebRequest.Create(url), HttpWebRequest)
Request.CookieContainer = cc
If referer <> "" Then
Request.Referer = referer
End If
Response = CType(Request.GetResponse(), HttpWebResponse)
Return New StreamReader(Response.GetResponseStream()).ReadToEnd()
End Function
Public Function GetResponse(ByVal url As String, ByVal Post As String, ByVal
Referer As String) As String
Request = CType(HttpWebRequest.Create(url), HttpWebRequest)
CType(Request, HttpWebRequest).UserAgent = "Mozilla/5.0 (Windows; U; Windows
NT 6.1; en-GB; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 (.NET CLR
3.5.30729)"
Request.Method = "POST"
Request.ContentType = "application/json; charset=utf-8"
Request.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip, deflate")
Request.Headers.Add(HttpRequestHeader.AcceptLanguage, "en-us")
Request.CookieContainer = cc
Request.UserAgent = ""
If Referer <> "" Then
Request.Referer = Referer
End If
Dim Bytes() As Byte = Encoding.Default.GetBytes(Post)
Request.ContentLength = Bytes.Length
Dim dataStream As Stream = Request.GetRequestStream()
dataStream.Write(Bytes, 0, Bytes.Length)
dataStream.Close()
Response = CType(Request.GetResponse(), HttpWebResponse)
Return New StreamReader(Response.GetResponseStream()).ReadToEnd()
End Function
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim html As String = GetResponse("https://temp-mail.org/option/change/", "")
Regex = New Regex("csrf..value..(.*?)""").Match(html).Groups(1).Value
TextBox1.Text = Regex
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim html As String
Dim SB As New StringBuilder
SB.Append("csrf=" & Regex)
SB.Append("&mail=" & "Almane")
SB.Append("&domain=" & "%40ipdeer.com")
html = GetResponse("https://temp-mail.org/option/change/", SB.ToString, "https://temp-mail.org/option/change/")
WebBrowser1.DocumentText = html
TextBox2.Text = html
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
End Class
目标网站:Temp-mail.org
错误文本:远程服务器返回错误:(403)禁止
错误图片:
答案 0 :(得分:0)
这表示HTTP请求的状态代码为403.当您尝试获取禁用页面或未设置某些必需的HTTP标头时,会发生此错误。 正如我所见,该页面并未被禁止。标题可能有误。我认为您没有正确发送Post参数。您的请求必须如下:
<p>POST /en/option/change/ HTTP/1.1<br />Host: temp-mail.org<br />User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0<br />Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8<br />Accept-Language: en-US,en;q=0.5<br />Accept-Encoding: gzip, deflate, br<br />Content-Type: application/x-www-form-urlencoded<br />Content-Length: 74<br />Referer: https://temp-mail.org/option/change/<br />Cookie: ezds=ffid%3D1%2Cw%3D1280%2Ch%3D720; ezohw=w%3D1280%2Ch%3D611; ezux_et_30309=0; ezux_tos_30309=2; __cfduid=d94864427a567d8e000c8ea19d00d49a21500592655; ezouid_30309=1643510745; active_template::30309=pub_site; csrf=958f27ff85864889436f0dbdab5c7f5e; mail=hakeres%40vektik.com; lang=en; __utma=185747500.940605442.1500617897.1500617897.1500617897.1; __utmb=185747500.0.10.1500617897; __utmc=185747500; __utmz=185747500.1500617897.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); ezosuigeneris=d5e4da1240ca74a2806dd4bdd53584b4; _ga=GA1.2.940605442.1500617897; _gid=GA1.2.343624442.1500617899; __qca=P0-1675212700-1500617911610; _gat=1<br />Connection: keep-alive<br />Upgrade-Insecure-Requests: 1<br /><br />csrf=958f27ff85864889436f0dbdab5c7f5e&mail=LoginTest&domain=@bestvpn.top</p>
&#13;
使用令牌可以保护表单免受CSRF攻击。
你必须设置Cookies&amp; csrf令牌正确。 如果我有错误,我很抱歉我的英语不好。