- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
首先,我知道还有其他模块(例如 Requests)更适合且使用起来更简单,但我想使用 socket 模块来更好地理解 HTTP。
我有一个执行以下操作的简单脚本:
客户端 ---> HTTP 代理 ---> 外部资源 (GET Google.com)
我能够正常连接到 HTTP 代理,但是当我将 google.com 的 GET 请求 header 发送到代理时,它根本没有给我任何响应。
#!/usr/bin/python
import socket
import sys
headers = """GET / HTTP/1.1\r\n
Host: google.com\r\n\r\n"""
socket = socket
host = "165.139.179.225" #proxy server IP
port = 8080 #proxy server port
try:
s = socket.socket()
s.connect((host,port))
s.send(("CONNECT {0}:{1} HTTP/1.1\r\n" + "Host: {2}: {3}\r\n\r\n").format(socket.gethostbyname(socket.gethostname()),1000,port,host))
print s.recv(1096)
s.send(headers)
response = s.recv(1096)
print response
s.close()
except socket.error,m:
print str(m)
s.close()
sys.exit(1)
最佳答案
要向代理发出 HTTP 请求,请打开到代理服务器的连接,然后发送 HTTP 代理请求。此请求与普通 HTTP 请求基本相同,但包含绝对 URL 而不是相对 URL,例如
> GET http://www.google.com HTTP/1.1
> Host: www.google.com
> ...
< HTTP response
要使 HTTPS 请求使用 CONNECT 方法打开隧道,然后在该隧道内正常进行,即进行 SSL 握手,然后在隧道内进行正常的非代理请求,例如
> CONNECT www.google.com:443 HTTP/1.1
>
< .. read response to CONNECT request, must be 200 ...
.. establish the TLS connection inside the tunnel
> GET / HTTP/1.1
> Host: www.google.com
关于Python 套接字模块。连接到 HTTP 代理然后对外部资源执行 GET 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32792333/
我想知道外部css文件是否有单行注释。 我正在使用外部 css 文件 (styles.css),我想在该文件中使用单行注释。我尝试使用“//”、“#”、“--”,但它们都不起作用。我知道我们可以在单行
#c{ height: 160px; width: 250px; background-color: orange; } img{ width: 100%; h
我正在与 Ivy 作斗争(我尝试过 maven,但在为 Hibernate 设置 JBoss 存储库时遇到了一个更困难的事件)。 小问题 - 我正在使用这个很棒的包: http://ooweb.sou
据我所知,在引用外部js文件时使用“async”,例如: 可能会提供最佳性能。但是,因此引用的脚本以任何顺序执行似乎也存在潜在问题。但对于 jQuery 和 jQueryUI(或任何基于 jQuer
我的整个想法有点复杂,但只是为了将事情分解,使它们简单明了……我在一个小部件上有一个按钮,我需要用它打开官方 Facebook 应用。 这是我使用的代码: Intent PlacesIntent =
我需要以 JSON 格式向远程服务器中的 HTTPS 网页发送 POST 并接收 JSON 格式的答案。 要发送到远程服务器的数据是从 URL 中获取的(栏) 我使用以下代码,没有结果,但有 20 秒
我在尝试访问外部 API 时收到套接字挂断错误。即使使用我的 API key (用于在网站上演示 API 的开发 API key ),也可以手动访问外部 API ( click here ) 并返回结
我正在尝试对当前上下文之外的 URL 执行 POST 请求,看起来 Spring 无法理解它。 测试代码: String content = mvc .perf
我公司有一个Google Brand Account管理我们的 YouTube (YT) channel 。我们正在尝试使用 YouTube Analytics & Reporting API 自动导
我们有一个内部部署的 MS CRM 2011,一些表单运行自定义 javascript 来预填充某些字段。数据来 self 们开发的 WCF RESTful Web 服务,该服务与 CRM 在同一台物
我正在尝试对外部 url 执行 ajax 请求。现在我正在用 php 执行此操作 作为 $data = array( 'TokenID' => $tokenid, 'A
我有一个 node.js express 网站,我在其中使用 jwt token 对我的用户进行身份验证。我想包括外部网络应用程序,即 agendash进入我的管理界面。 Agendash 包含在这样
当触发效果时,我想在单元测试中测试两个可观察对象,以获得这部分代码的 100% 代码覆盖率。因为 window.location.href 被触发,我无法正确测试它。 export class Rou
我正在 Spring Boot Java 应用程序中为服务类构建单元测试。 服务类对返回 JSON 响应的 REST API 服务进行外部调用。我正在使用 Mockito 模拟这个调用。我在模拟服务器
我尝试通过 jQuery 中的 $.post 发布大量文本并收到 406 响应。在 300 个字符左右的情况下它可以正常工作。下面是我的代码: index.php html jQuery
目前,我需要在 iOS UI 自动化测试脚本中从外部 JAR 文件调用一些 API。例如,在我的 UI 自动化测试脚本中,我可以输入电子邮件地址并向该地址发送电子邮件。接下来,我需要对外部 JAR 文
我在一个一直工作到上周五的 WP 网站上使用 cURL 创建了一些“基本”API 调用。 从那时起,我收到此错误消息。 错误n:60, 错误:SSL 证书问题:证书已过期。 现在我刚刚检查了https
我是一名优秀的程序员,十分优秀!