Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用随机端口生成请求_Python_Flask - Fatal编程技术网

Python 使用随机端口生成请求

Python 使用随机端口生成请求,python,flask,Python,Flask,我试图生成一个从flask服务器到另一个服务器的get请求,在目标端,当我打印端口时,每次请求都会得到随机端口 客户: from flask import Flask, redirect, request import requests app = Flask(__name__) @app.route('/acqlock/<resource_name>') def acquire_resource(resource_name):

我试图生成一个从flask服务器到另一个服务器的get请求,在目标端,当我打印端口时,每次请求都会得到随机端口

客户:

    from flask import Flask, redirect, request
    import requests
    app = Flask(__name__)
    @app.route('/acqlock/<resource_name>')
    def acquire_resource(resource_name):
        print request.url
        response = requests.get('http://127.0.0.1:8080/acqlock/' + resource_name)
        return response.text
if __name__ == "__main__":
    app.run(host="localhost", port=8081)
从烧瓶导入烧瓶,重定向,请求
导入请求
app=烧瓶(名称)
@app.route(“/acqlock/”)
def获取资源(资源名称):
打印请求.url
response=requests.get('http://127.0.0.1:8080/acqlock/“+资源名称)
返回response.text
如果名称=“\uuuuu main\uuuuuuuu”:
app.run(host=“localhost”,port=8081)
服务器:

    from flask import Flask, redirect, request

    app = Flask(__name__)
    @app.route('/')
    @app.route('/acqlock/<resource_name>')
    def acquire_lock(resource_name):
        print request.url
        print request.environ.get('REMOTE_PORT')
if __name__ == "__main__":
    app.run(port=int("8080"))
从烧瓶导入烧瓶,重定向,请求
app=烧瓶(名称)
@应用程序路径(“/”)
@app.route(“/acqlock/”)
def获取锁定(资源名称):
打印请求.url
打印请求.environ.get('REMOTE_PORT'))
如果名称=“\uuuuu main\uuuuuuuu”:
应用程序运行(端口=int(“8080”))
它一直在打印58077,尽管我希望它打印8081,因为服务器正在生成请求

这是正常的。请记住,
requests
是这里的客户机,它必须创建到另一台服务器的新HTTP连接。客户端的TCP连接也需要一个端口,当您为远程服务器创建套接字时,操作系统会为连接的客户端分配一个端口号

在传入HTTP连接的上下文中创建此传出HTTP连接既不在这里也不在那里。这是一个不同的连接,在不同的方向

如果需要确定请求的来源,请向请求中添加信息。您可以添加自定义标题、cookie、查询参数或post数据。

这是正常的。请记住,
requests
是这里的客户机,它必须创建到另一台服务器的新HTTP连接。客户端的TCP连接也需要一个端口,当您为远程服务器创建套接字时,操作系统会为连接的客户端分配一个端口号

在传入HTTP连接的上下文中创建此传出HTTP连接既不在这里也不在那里。这是一个不同的连接,在不同的方向


如果需要确定请求的来源,请向请求中添加信息。您可以添加自定义标题、cookie、查询参数或post数据。

有办法修复端口吗?或者甚至使用当前正在运行的flask应用程序生成请求?您认为为什么需要这个?不,你不能。我有另外两个客户端生成请求,我想在服务器上区分它们,这样做(客户端,没有请求)history@fadytaher:然后添加cookie、查询参数或标题。在这里,使用客户端端口号并不是区分请求的方法。@fadytaher:然后给它们一些加密签名的东西,以便在cookie或标头中发送。API身份验证是一个已解决的问题。有办法修复端口吗?或者甚至使用当前正在运行的flask应用程序生成请求?您认为为什么需要这个?不,你不能。我有另外两个客户端生成请求,我想在服务器上区分它们,这样做(客户端,没有请求)history@fadytaher:然后添加cookie、查询参数或标题。在这里,使用客户端端口号并不是区分请求的方法。@fadytaher:然后给它们一些加密签名的东西,以便在cookie或标头中发送。API身份验证是一个已解决的问题。