我没有得到与sr函数的HTTP答案。只是一个确认 [英] I dont get HTTP answer with sr function. Just an ACK

查看:260
本文介绍了我没有得到与sr函数的HTTP答案。只是一个确认的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图向google.com发送HTTP GET请求,但我得到的答案是ACK而不是HTML文件。这里是代码:

  def Make_Get():
synR = IP(dst ='www.google.com ',ttl = 64)/ TCP(dport = 80,sport = randint(1024,65535),flags ='S')
synAckAN = sr1(synR)
req =(IP(dst = www.google.com)/ TCP(dport = 80,sport = synAckAN [TCP] .dport,seq = synAckAN [TCP] .ack,ack = synAckAN [TCP] .seq + 1,flags ='A')/ GET / HTTP / 1.0 \\\
\\\


ans,a = sr(req)
return ans

这是我得到的两个数据包:


 ### [IP] ### 
版本= 4
ihl =无
tos = 0x0
len =无
id = 1
flags =
frag = 0
ttl = 64
proto = tcp
chksum = None
src = 192.168.233.128
dst = 216.58.214.100
\options \
### [TCP] ###
sport = 35534
dport = http
seq = 1
ack = 1964930533
dataofs = None
reserved = 0
flags = A
window = 8192
chksum = None
urgptr = 0
options = {}
### [Raw] ###
load ='GET / HTTP / 1.0 \\\
\\\
'



### [IP] ###
版本= 4L
ihl = 5L
tos = 0x0
len = 40
id = 32226
flags =
frag = 0L
ttl = 128
proto = tcp
chksum = 0x6425
src = 216.58.214.100
dst = 192.168.233.128
\options \
### [TCP] ###
sport = http
dport = 35534
seq = 1964930533
ack = 18
dataofs = 5L
reserved = 0L
flags = A
window = 64240
chksum = 0xe5e6
urgptr = 0
opt ions = {}
### [Padding] ###
load ='\x00\x00\x00\x00\x00\x00'
None


当我发送这个数据包时,

  ### [以太网] ### 
dst = 00:0c:29:bb:8e:79
src = 00:50:56:e9:b8:b1
type = 0x800
### [IP] ###
version = 4L
ihl = 5L
tos = 0x0
len = 517
id = 32136
标志=
frag = 0L
ttl = 128
proto = tcp
chksum = 0x5004
src = 172.217.20.100
dst = 192.168.233.128
\options\
### [TCP] ###
sport = http
dport = 1928
seq = 1828330545
ack = 18
dataofs = 5L
保留= 0L
标志= FPA
窗口= 64240
chksum = 0x8b5f
urgptr = 0
options = []
### [HTTP] ###
### [HTTP Response] ###
Status-Line = u'HTTP / 1.0 302找到'
接受范围=无
年龄=无
E-Tag = None
Location = u'http://www.google.co.il/?gfe_rd = cr& ei = 9fiTV6P6FuWg8weei7rQDA'
Proxy-Authenticate = None
Retry-After = None
Server = None
Vary = None
WWW-Authenticate = None
Cache-Control = u'private'
Connection = None
Date = u'Sat,23 Jul 2016 23:08:37 GMT'
Pragma = None
Trailer = None
Transfer-Encoding = None
Upgrade = None
Via = None
Warning = None
Keep-Alive = None
Allow = None
Content-Encoding = None
Content-Language = None
Content- Length = u'261'
Content-Location = None
Content-MD5 = None
Content-Range = None
Content-Type = u'text / html; charset = UTF-8'
Expires = None
Last-Modified = None
Headers = u'Date:Sat,23 Jul 2016 23:08:37 GMT \r\\\
Content-长度:261 \r\\\
Content-Type:text / html; charset = UTF-8 \r\\\
位置:http://www.google.co.il/?gfe_rd=cr&ei=9fiTV6P6FuWg8weei7rQDA\r\\\
Cache-Control:private'
Additional-Headers = None
### [Raw] ###
load ='< HTML>< HEAD>< meta http-equiv =content-typecontent =text / html; charset =移动< / H1> \\\
302移动< / TITLE>< / HEAD>< BODY> \\\<br/>< H1> 302移动< / H1> HREF =http://www.google.co.il/?gfe_rd=cr&amp;ei=9fiTV6P6FuWg8weei7rQDA>此处< / A>。\r\\\<br/>< / BODY>< / HTML> \r\\\<br/>'<br/> </code> </pre><p>正如您所看到的,这一层的最后一层包含我需要的代码。</p> <br/> <br/> <p>我的问题是:<br/> <br/> <p>为什么我不能用<code> sr()</code>以及如何获取它以收集HTML代码?<b> <br/> <br/> <p> <strong>编辑:</strong> </p> <br/> <br/> <p>调用函数:<b> <br/> <br/> </p><pre> <code> p rint Make_Get('www.google.com')[0] [Raw] <br/> </code> </pre><p>函数:</p><pre> <code> def Make_Get(ipp):<br/> ip = DNS_Req(ipp)<br/> synR = IP(dst = ip )/ TCP(dport = 80,sport = randint(1024,65535),flags ='S')<br/> syn_ack = sr1(synR)<br/> getStr =GET / HTTP / 1.1 \r\ nHost:{} \r\\\<br/>\r\\\<br/>.format(ip)<br/> request =(IP(dst = ip)/ TCP(dport = 80,sport = syn_ack [TCP] .dport ,seq = syn_ack [TCP] .ack,ack = syn_ack [TCP] .seq + 1,flags ='A')/ getStr)<br/> an = sr(请求)<br/>返回<br/> <b <br/> $ b </p><blockquote> <br/> <$ p </p> $ p> <code>开始发射:<br/>。发送1个数据包。 <br/> * <br/>收到2个数据包,得到1个答案,剩下0个数据包<br/>开始发射:<br/> *完成发送1个数据包。 <br/> <br/>收到1个数据包,得到1个答案,剩下0个数据包<br/> [] <br/> </code> </pre><p> <br/> </blockquote > <br/> </p><div class =h2_lin>解决方案</div><p>首先,在HTTP中,正确的换行符是\r\\\<br/>,而不是\\\<br/>。</p> <br/> <br/> <p>其次,有什么理由为什么使用HTTP / 1.0而不使用HTTP / 1.1?如果没有,你应该改变你的请求到:</p><pre> <code> GET / HTTP / 1.1 \r\\\<br/> <br/> Host :www.google.com \r\\\<br/> <br/> \r\\\<br/> <br/> </code> </pre><p>第三,您收到的ACK通常由服务器发送,然后再发送实际的HTTP响应以更快地确认您的请求。然后第二个段与HTTP响应一起发送。你在第一个<code> show()</code>例子中缺少这个。</p> <br/> <br/> <p>看看<a href =https ://stackoverflow.com/questions/38385646/how-can-i-extract-html-code-with-scapy/38434114#38434114>这里</a>。</p> <br/> <br/> <p>为了抓住这个细分市场,你可以使用<code> sr()</code>函数及其参数<code> timeout </code>和<code> multi </code>:</p><pre> <code> ans,unans = sr(request,timeout = 2,multi = True )<br/> <br/> for c,s in ans:<br/>如果s.haslayer(Raw):<br/> print b [Raw] <br/> print(------ -----)#只是一个分隔符<br/> </code> </pre><p> <code> timeout </code>用于确保<code> sr()</code>停止(值2是任意的)。 <br/> <code> multi </code>意思是接受同一刺激的多个答案,除非它存在,<code> sr()</code>会在发送请求的一个答案后停止嗅探。</p> <br/><p>I am trying to send an HTTP GET request to google.com, but the answer I get is an ACK and not the HTML file. Here is the code:</p><pre><code>def Make_Get(): synR = IP(dst = 'www.google.com', ttl = 64)/TCP(dport = 80,sport = randint(1024,65535), flags = 'S') synAckAN = sr1(synR) req = (IP(dst='www.google.com') / TCP(dport=80, sport=synAckAN[TCP].dport, seq=synAckAN[TCP].ack, ack=synAckAN[TCP].seq + 1, flags='A')/"GET / HTTP/1.0 \n\n") ans, a = sr(req) return ans </code></pre><p>and this are the two packets I got in return of this function:</p><blockquote> </p><pre><code>###[ IP ]### version = 4 ihl = None tos = 0x0 len = None id = 1 flags = frag = 0 ttl = 64 proto = tcp chksum = None src = 192.168.233.128 dst = 216.58.214.100 \options \ ###[ TCP ]### sport = 35534 dport = http seq = 1 ack = 1964930533 dataofs = None reserved = 0 flags = A window = 8192 chksum = None urgptr = 0 options = {} ###[ Raw ]### load = 'GET / HTTP/1.0 \n\n' None ###[ IP ]### version = 4L ihl = 5L tos = 0x0 len = 40 id = 32226 flags = frag = 0L ttl = 128 proto = tcp chksum = 0x6425 src = 216.58.214.100 dst = 192.168.233.128 \options \ ###[ TCP ]### sport = http dport = 35534 seq = 1964930533 ack = 18 dataofs = 5L reserved = 0L flags = A window = 64240 chksum = 0xe5e6 urgptr = 0 options = {} ###[ Padding ]### load = '\x00\x00\x00\x00\x00\x00' None </code></pre><p> </blockquote><p>When I sniffed the traffic while I sent this packet, I got this:</p><pre><code>###[ Ethernet ]### dst= 00:0c:29:bb:8e:79 src= 00:50:56:e9:b8:b1 type= 0x800 ###[ IP ]### version= 4L ihl= 5L tos= 0x0 len= 517 id= 32136 flags= frag= 0L ttl= 128 proto= tcp chksum= 0x5004 src= 172.217.20.100 dst= 192.168.233.128 \options\ ###[ TCP ]### sport= http dport= 1928 seq= 1828330545 ack= 18 dataofs= 5L reserved= 0L flags= FPA window= 64240 chksum= 0x8b5f urgptr= 0 options= [] ###[ HTTP ]### ###[ HTTP Response ]### Status-Line= u'HTTP/1.0 302 Found' Accept-Ranges= None Age= None E-Tag= None Location= u'http://www.google.co.il/?gfe_rd=cr&ei=9fiTV6P6FuWg8weei7rQDA' Proxy-Authenticate= None Retry-After= None Server= None Vary= None WWW-Authenticate= None Cache-Control= u'private' Connection= None Date= u'Sat, 23 Jul 2016 23:08:37 GMT' Pragma= None Trailer= None Transfer-Encoding= None Upgrade= None Via= None Warning= None Keep-Alive= None Allow= None Content-Encoding= None Content-Language= None Content-Length= u'261' Content-Location= None Content-MD5= None Content-Range= None Content-Type= u'text/html; charset=UTF-8' Expires= None Last-Modified= None Headers= u'Date: Sat, 23 Jul 2016 23:08:37 GMT\r\nContent-Length: 261\r\nContent-Type: text/html; charset=UTF-8\r\nLocation: http://www.google.co.il/?gfe_rd=cr&ei=9fiTV6P6FuWg8weei7rQDA\r\nCache-Control: private' Additional-Headers= None ###[ Raw ]### load= '<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">\n<TITLE>302 Moved</TITLE></HEAD><BODY>\n<H1>302 Moved</H1>\nThe document has moved\n<A HREF="http://www.google.co.il/?gfe_rd=cr&amp;ei=9fiTV6P6FuWg8weei7rQDA">here</A>.\r\n</BODY></HTML>\r\n' </code></pre><p>As you can see, the last layer in this one, contain the code I need.</p> <p>my question is:</p> <p>Why don't I get the packet with <code>sr()</code> and how can I obtain it to collect the HTML code?</p> <p><strong>EDIT:</strong></p> <p>The call to the function:</p><pre><code>print Make_Get('www.google.com')[0][Raw] </code></pre><p>The function:</p><pre><code>def Make_Get(ipp): ip = DNS_Req(ipp) synR = IP(dst = ip)/TCP(dport = 80,sport = randint(1024,65535), flags = 'S') syn_ack = sr1(synR) getStr = "GET / HTTP/1.1\r\nHost: {}\r\n\r\n".format(ip) request = (IP(dst= ip) / TCP(dport=80, sport=syn_ack[TCP].dport, seq=syn_ack[TCP].ack, ack=syn_ack[TCP].seq + 1, flags='A')/getStr) an = sr(request) return an </code></pre><p>The resuls:</p><blockquote> </p><pre><code> Begin emission: .Finished to send 1 packets. * Received 2 packets, got 1 answers, remaining 0 packets Begin emission: *Finished to send 1 packets. Received 1 packets, got 1 answers, remaining 0 packets [] </code></pre><p> </blockquote><p> </p><div class="h2_lin"> 解决方案 </div><p>First, in HTTP, a correct newline is "\r\n", not "\n".</p> <p>Second, is there any reason why you use HTTP/1.0 and not HTTP/1.1? If not, you should change your request to:</p><pre><code>GET / HTTP/1.1\r\n Host: www.google.com\r\n \r\n </code></pre><p>Third, the ACK you are getting is usually sent by the server before sending the actual HTTP response to acknowledge your request faster. A second segment is then sent with the HTTP response. You are missing this one in your first <code>show()</code> example.</p> <p>Have a look <a href="https://stackoverflow.com/questions/38385646/how-can-i-extract-html-code-with-scapy/38434114#38434114">here</a>.</p> <p>To catch this segment, you can use <code>sr()</code> function with its parameter <code>timeout</code> and <code>multi</code>:</p><pre><code>ans, unans = sr(request, timeout=2, multi=True) for c, s in ans: if s.haslayer(Raw): print b[Raw] print("-----------") # just a delimiter </code></pre><p><code>timeout</code> is used to ensure that <code>sr()</code> will stop (value 2 is arbitrary). <code>multi</code> mean "accept multiple answers for the same stimulus" unless it is there, <code>sr()</code> will stop sniffing after one answer to the request sent.</p> <p>这篇关于我没有得到与sr函数的HTTP答案。只是一个确认的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!</p> </div> <div class="arc-body-main-more"> <span onclick="unlockarc('791690');">查看全文</span> </div> </div> <div> </div> <div class="wwads-cn wwads-horizontal" data-id="166" style="max-width:100%;border: 4px solid #666;"></div> </div> </article> <div id="arc-ad-2" class="mb-1"> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5038752844014834" crossorigin="anonymous"></script> <ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-5038752844014834" data-ad-slot="3921941283"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="widget bgwhite radius-1 mb-1 shadow widget-rel"> <h5>相关文章</h5> <ul> <li> <a target="_blank" title="我只是没有得到延续!" href="/781475.html"> 我只是没有得到延续!; </a> </li> <li> <a target="_blank" title="Storm Spout 没有得到确认" href="/2556089.html"> Storm Spout 没有得到确认; </a> </li> <li> <a target="_blank" title="DataGridViewCheckBoxCell是没有得到确认" href="/445450.html"> DataGridViewCheckBoxCell是没有得到确认; </a> </li> <li> <a target="_blank" title="为什么我没有得到一个号码?" href="/1318330.html"> 为什么我没有得到一个号码?; </a> </li> <li> <a target="_blank" title="没有得到一个变量值?" href="/1838080.html"> 没有得到一个变量值?; </a> </li> <li> <a target="_blank" title="Angular 2 http 没有得到" href="/2619423.html"> Angular 2 http 没有得到; </a> </li> <li> <a target="_blank" title="在我的程序中帮助它没有得到正确的答案" href="/1056238.html"> 在我的程序中帮助它没有得到正确的答案; </a> </li> <li> <a target="_blank" title="我没有得到jqgrid" href="/1190906.html"> 我没有得到jqgrid; </a> </li> <li> <a target="_blank" title="onServiceConnected没有得到所谓的,得到一个空指针异常" href="/150484.html"> onServiceConnected没有得到所谓的,得到一个空指针异常; </a> </li> <li> <a target="_blank" title="为什么我还没有得到一个空数组?" href="/242868.html"> 为什么我还没有得到一个空数组?; </a> </li> <li> <a target="_blank" title="Viewpager没有得到最后一个项目" href="/1914958.html"> Viewpager没有得到最后一个项目; </a> </li> <li> <a target="_blank" title="我没有得到的声明" href="/1405342.html"> 我没有得到的声明; </a> </li> <li> <a target="_blank" title="FocusEvent 没有得到 JFormattedTextField 的最后一个值,我怎样才能得到它?" href="/2863775.html"> FocusEvent 没有得到 JFormattedTextField 的最后一个值,我怎样才能得到它?; </a> </li> <li> <a target="_blank" title="FocusEvent没有得到JFormattedTextField的最后一个值,我怎么能得到它?" href="/768086.html"> FocusEvent没有得到JFormattedTextField的最后一个值,我怎么能得到它?; </a> </li> <li> <a target="_blank" title="我没有得到一点以太" href="/1220553.html"> 我没有得到一点以太; </a> </li> <li> <a target="_blank" title="项目欧拉#11 java。没有得到正确的答案" href="/991123.html"> 项目欧拉#11 java。没有得到正确的答案; </a> </li> <li> <a target="_blank" title="加载“ChatView” nib但没有得到一个UITableView。" href="/525373.html"> 加载“ChatView” nib但没有得到一个UITableView。; </a> </li> <li> <a target="_blank" title="我AlarmManager没有得到所谓的" href="/154167.html"> 我AlarmManager没有得到所谓的; </a> </li> <li> <a target="_blank" title="我没有得到假设的输出。" href="/1092823.html"> 我没有得到假设的输出。; </a> </li> <li> <a target="_blank" title="从变量打印原始字符串?(没有得到答案)" href="/2341767.html"> 从变量打印原始字符串?(没有得到答案); </a> </li> <li> <a target="_blank" title="项目欧拉,回文问题,没有得到预期的答案,python" href="/1179086.html"> 项目欧拉,回文问题,没有得到预期的答案,python; </a> </li> <li> <a target="_blank" title="为什么推到一个数组时,我没有得到正确的价值?" href="/245087.html"> 为什么推到一个数组时,我没有得到正确的价值?; </a> </li> <li> <a target="_blank" title="CGI-BIN脚本没有得到一个用户运行?" href="/217514.html"> CGI-BIN脚本没有得到一个用户运行?; </a> </li> <li> <a target="_blank" title="角没有得到响应时,它是一个非200" href="/201852.html"> 角没有得到响应时,它是一个非200; </a> </li> <li> <a target="_blank" title="得到()没有得到excuted" href="/371594.html"> 得到()没有得到excuted; </a> </li> </ul> </div> <div class="mb-1"> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5038752844014834" crossorigin="anonymous"></script> <ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-5038752844014834" data-ad-slot="3921941283"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> </div> <div class="side"> <div class="widget widget-side bgwhite mb-1 shadow"> <h5>其他开发最新文章</h5> <ul> <li> <a target="_blank" title="拒绝显示一个框架,因为它将'X-Frame-Options'设置为'sameorigin'" href="/893060.html"> 拒绝显示一个框架,因为它将'X-Frame-Options'设置为'sameorigin'; </a> </li> <li> <a target="_blank" title="什么是&QUOT; AW&QUOT;在部分标志属性是什么意思?" href="/303988.html"> 什么是&QUOT; AW&QUOT;在部分标志属性是什么意思?; </a> </li> <li> <a target="_blank" title="在运行npm install命令时获取'npm WARN弃用'警告" href="/840917.html"> 在运行npm install命令时获取'npm WARN弃用'警告; </a> </li> <li> <a target="_blank" title="cmake无法找到openssl" href="/516280.html"> cmake无法找到openssl; </a> </li> <li> <a target="_blank" title="从Spark的scala中的* .tar.gz压缩文件中读取HDF5文件" href="/850628.html"> 从Spark的scala中的* .tar.gz压缩文件中读取HDF5文件; </a> </li> <li> <a target="_blank" title="Twitter :: Error :: Forbidden - 无法验证您的凭据" href="/630061.html"> Twitter :: Error :: Forbidden - 无法验证您的凭据; </a> </li> <li> <a target="_blank" title="我什么时候需要一个fb:app_id或者fb:admins?" href="/747981.html"> 我什么时候需要一个fb:app_id或者fb:admins?; </a> </li> <li> <a target="_blank" title="将.db文件导入R" href="/902960.html"> 将.db文件导入R; </a> </li> <li> <a target="_blank" title="npm通知创建一个lockfile作为package-lock.json。你应该提交这个文件" href="/744854.html"> npm通知创建一个lockfile作为package-lock.json。你应该提交这个文件; </a> </li> <li> <a target="_blank" title="拒绝执行内联脚本,因为它违反了以下内容安全策略指令:“script-src'self'”" href="/819167.html"> 拒绝执行内联脚本,因为它违反了以下内容安全策略指令:“script-src'self'”; </a> </li> </ul> </div> <div class="widget widget-side bgwhite mb-1 shadow"> <h5> 热门教程 </h5> <ul> <li> <a target="_blank" title="Java教程" href="/OnLineTutorial/java/index.html"> Java教程 </a> </li> <li> <a target="_blank" title="Apache ANT 教程" href="/OnLineTutorial/ant/index.html"> Apache ANT 教程 </a> </li> <li> <a target="_blank" title="Kali Linux教程" href="/OnLineTutorial/kali_linux/index.html"> Kali Linux教程 </a> </li> <li> <a target="_blank" title="JavaScript教程" href="/OnLineTutorial/javascript/index.html"> JavaScript教程 </a> </li> <li> <a target="_blank" title="JavaFx教程" href="/OnLineTutorial/javafx/index.html"> JavaFx教程 </a> </li> <li> <a target="_blank" title="MFC 教程" href="/OnLineTutorial/mfc/index.html"> MFC 教程 </a> </li> <li> <a target="_blank" title="Apache HTTP客户端教程" href="/OnLineTutorial/apache_httpclient/index.html"> Apache HTTP客户端教程 </a> </li> <li> <a target="_blank" title="Microsoft Visio 教程" href="/OnLineTutorial/microsoft_visio/index.html"> Microsoft Visio 教程 </a> </li> </ul> </div> <div class="widget widget-side bgwhite mb-1 shadow"> <h5> 热门工具 </h5> <ul> <li> <a target="_blank" title="Java 在线工具" href="/Onlinetools/details/4"> Java 在线工具 </a> </li> <li> <a target="_blank" title="C(GCC) 在线工具" href="/Onlinetools/details/6"> C(GCC) 在线工具 </a> </li> <li> <a target="_blank" title="PHP 在线工具" href="/Onlinetools/details/8"> PHP 在线工具 </a> </li> <li> <a target="_blank" title="C# 在线工具" href="/Onlinetools/details/1"> C# 在线工具 </a> </li> <li> <a target="_blank" title="Python 在线工具" href="/Onlinetools/details/5"> Python 在线工具 </a> </li> <li> <a target="_blank" title="MySQL 在线工具" href="/Onlinetools/Dbdetails/33"> MySQL 在线工具 </a> </li> <li> <a target="_blank" title="VB.NET 在线工具" href="/Onlinetools/details/2"> VB.NET 在线工具 </a> </li> <li> <a target="_blank" title="Lua 在线工具" href="/Onlinetools/details/14"> Lua 在线工具 </a> </li> <li> <a target="_blank" title="Oracle 在线工具" href="/Onlinetools/Dbdetails/35"> Oracle 在线工具 </a> </li> <li> <a target="_blank" title="C++(GCC) 在线工具" href="/Onlinetools/details/7"> C++(GCC) 在线工具 </a> </li> <li> <a target="_blank" title="Go 在线工具" href="/Onlinetools/details/20"> Go 在线工具 </a> </li> <li> <a target="_blank" title="Fortran 在线工具" href="/Onlinetools/details/45"> Fortran 在线工具 </a> </li> </ul> </div> </div> </div> <script type="text/javascript">var eskeys = '我,没有,得到,与,sr,函数,的,http,答案,只是,一个,确认'; var cat = 'cc';';//other-dev</script> </div> <div id="pop" onclick="pophide();"> <div id="pop_body" onclick="event.stopPropagation();"> <h6 class="flex flex101"> 登录 <span onclick="pophide();">关闭</span> </h6> <div class="pd-1"> <div class="wxtip center"> <span>扫码关注<em>1秒</em>登录</span> </div> <div class="center"> <img id="qr" src="https://huajiakeji.com/Content/Images/qrydx.jpg" alt="" style="width:150px;height:150px;" /> </div> <div style="margin-top:10px;display:flex;justify-content: center;"> <input type="text" placeholder="输入验证码" id="txtcode" autocomplete="off" /> <input id="btngo" type="button" onclick="chk()" value="GO" /> </div> <div class="center" style="margin: 4px; font-size: .8rem; color: #f60;"> 发送“验证码”获取 <em style="padding: 0 .5rem;">|</em> <span style="color: #01a05c;">15天全站免登陆</span> </div> <div id="chkinfo" class="tip"></div> </div> </div> </div> <script type="text/javascript" src="https://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script> <script type="text/javascript" src="https://cdn.bootcss.com/jquery-cookie/1.4.1/jquery.cookie.min.js"></script> <script type="text/javascript" src="https://img01.yuandaxia.cn/Scripts/highlight.min.js"></script> <script type="text/javascript" src="https://img01.yuandaxia.cn/Scripts/base.js?v=0.22"></script> <script type="text/javascript" src="https://img01.yuandaxia.cn/Scripts/tui.js?v=0.11"></script> <footer class="footer"> <div class="container"> <div class="flink mb-1"> 友情链接: <a href="https://www.it1352.com/" target="_blank">IT屋</a> <a href="https://huajiakeji.com/" target="_blank">Chrome插件</a> <a href="https://www.cnplugins.com/" target="_blank">谷歌浏览器插件</a> </div> <section class="copyright-section"> <a href="https://www.it1352.com" title="IT屋-程序员软件开发技术分享社区">IT屋</a> ©2016-2022 <a href="http://www.beian.miit.gov.cn/" target="_blank">琼ICP备2021000895号-1</a> <a href="/sitemap.html" target="_blank" title="站点地图">站点地图</a> <a href="/Home/Tags" target="_blank" title="站点标签">站点标签</a> <a target="_blank" alt="sitemap" href="/sitemap.xml">SiteMap</a> <a href="/1155981.html" title="IT屋-免责申明"><免责申明></a> 本站内容来源互联网,如果侵犯您的权益请联系我们删除. </section> <!--统计代码--> <script type="text/javascript"> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?0c3a090f7b3c4ad458ac1296cb5cc779"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> <script type="text/javascript"> (function () { var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </div> </footer> </body> </html>