首页 > 其他分享 >使用GET方法访问网站

使用GET方法访问网站

时间:2024-05-18 19:51:45浏览次数:30  
标签:__ city province GET 网站 app urllib 访问 flask

使用GET方法访问网站

服务器接收get参数

server.py

import flask
app = flask.Flask(__name__)
@app.route('/')
def index():
    province = flask.request.args.get('province')
    city = flask.request.args.get('city')
    print(province, city)
    return province+","+city

debug=True
if __name__ == '__main__':
    app.run()

client.py

import urllib.request
url = "http://127.0.0.1:5000"
province = "山东"
city = "青岛"
# 对汉字编码
province = urllib.parse.quote(province)
city = urllib.parse.quote(city)
# 拼接字符串
data = "province=" + province + "&city=" + city
response = urllib.request.urlopen(url+"?"+data)
data = response.read()
content = data.decode()
print(content)

# try:
#     # 模拟浏览器向服务器发送请求
#     response = urllib.request.urlopen(url+"?"+data)
#     data = response.read()
#     content = data.decode()
#     print(content)
# except urllib.error.HTTPError:
#     print('HTTPError异常')
# except urllib.error.URLError:
#     print('URLError异常')

 

 

客户端发送get请求

server.py

import flask
from flask import Flask

app = Flask(__name__)
@app.route('/')
def index():
    lang = flask.request.values.get("lang","")
    if lang == "chinese":
        html = "大家好"
    else:
        html = "hello"
    return html

app.debug = True
app.run()

client.py

import urllib.request
url = "http://127.0.0.1:5000"
response = urllib.request.urlopen(url+"?lang=english")
content = response.read()
print(content)
html = content.decode()
print(html)

中文字符串参数编码

Server.py

import flask
app = flask.Flask(__name__)

@app.route('/')
def index():
    dict = {"苹果": "apple", "桃子": "peach", "梨子": "pear"}
    word = flask.request.values.get("word", "")
    if word in dict.keys():
        s = dict[word]
    else:
        s = "字典里无该词"
    return s

debug = True
if __name__ == '__main__':
    app.run()

Client.py

import urllib.request
import urllib.parse

url = "http://127.0.0.1:5000"
word = input("请输入中文:")
word = urllib.parse.quote(word)
response = urllib.request.urlopen(url+"?word="+word)
content = response.read()
html = content.decode("utf-8")
print(html)

 

 

Requests中的GET

server.py

import flask
app = flask.Flask(__name__)

@app.route('/')
def index():
    try:


        province = flask.request.values.get('province', "")
        city = flask.request.values.get('city', "")
        return province + "," + city
    except Exception as e:
        return str(str)

debug = True
if __name__ == '__main__':
    app.run()

client.py

import requests
url = "http://127.0.0.1:5000"

try:
    response = requests.get(url, params={"province": "山东", "city": "青岛"})
    print(response.content)
    print(response.text)
except Exception as e:
    print(e)

 

标签:__,city,province,GET,网站,app,urllib,访问,flask
From: https://www.cnblogs.com/JJJHaoran/p/18199692

相关文章

  • mysql外部访问踩坑
    起因项目用.Net开发,在mac上运行,可能是版本问题,想试试在windows下部署,就用parallels起了个windows,但windows却无法连接宿主mac上的mysql,最后折腾了一天才解决。排查宿主机和虚拟机互ping这是排查的一个方向,但parallels默认就是能互联的,如果ping不通,需要配置为共享网络宿......
  • 强大且免费的抠图网站(强烈安利!)
           今天想把下载下来的图片进行抠图上传,找了好久没找到好用的,不是功能单一就是收费(  囊中羞涩  ),猛然间,发现一个神奇的网站,名叫  易可图!!       易可图  是一款全方位的免费图片编辑网站,包含抠图、裁剪、拼接、压缩等常用功能,易可图抠图功能只需用户上传......
  • java中的http请求的封装(GET、POST、form表单形式)
    前JAVA实现HTTP请求的方法用的最多的有两种:一种是通过HTTPClient这种第三方的开源框架去实现。HTTPClient对HTTP的封装性比较不错,通过它基本上能够满足我们大部分的需求,HttpClient3.1是org.apache.commons.httpclient下操作远程url的工具包,虽然已不再更新,但实现工作中使用httpC......
  • tinkphp 配置二級域名访问
    1.路由配置Route::domain('admin',function(){//系统管理Route::rule('/system/saveSubscriber$','admin/system/saveSubscriber','POST');});2.nginx配置文件listen80;server_namexxx.comadmin.xxx.com;3.t......
  • odoo widget新建
    自己模快下创建static/src/main_process目录结构文件夹main_process.scsshttps://files.cnblogs.com/files/blogs/822815/main_process.css?t=1715930844&download=truemain_process.jshttps://files.cnblogs.com/files/blogs/822815/main_process.js?t=1715930813&download=t......
  • 修改VS中的NuGet包下载路径
    一、修改下载的NuGet包存储位置:1、文件路径:C:\Users\{登录用户名}\AppData\Roaming\NuGet2、打开修改“NuGet.Config”,文件内容原始文件内容为:xmlversion="1.0"encoding="utf-8"?<configuration><packageSources><addkey="nuget.org"......
  • 关于“error: Microsoft Visual C++ 14.0 is required. Get it with "Build Tools for
    安装库之前一定要注意python版本,今天鬼迷日眼的装一堆堆库,一个回车冒出来这个鬼问题。百度无果后灵光乍现,只安装报错时对应的库:condainstallnumpy==1.20.1结果在输出里找出这一段:Specifications:-numpy==1.20.1->python[version='>=3.7,<3.8.0a0|>=3.8,<3.9.0a0|>=......
  • Windows无法访问共享文件夹,提示:你不能访问此共享文件夹,因为你组织的安全策略阻止未经
    1、问题描述Windows系统里访问局域网共享文件夹时,提示:“你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问。这些策略可帮助保护你的电脑免受网络上不安全设备或恶意设备的威胁。”2、主要原因未启动启用策略:不安全的来宾登录3、解决方法1)Windows+R键,打开运......
  • MySql5.6 关于视图访问权限问题记录
    问题描述使用zstack或root账号访问视图view3出现[root@172-26-52-170mariadb]#mysql-uzstack-pzstack.passwordzstack-e"select*fromview3"ERROR1045(28000)atline1:Accessdeniedforuser'zstack'@'localhost'(usingpassword:YES)......
  • 无法AC,关于使用fgets碰到的问题——末尾多一个换行符
    题目是输入一串字符串,包含空格,里面有多个单词,将每个单词翻转输出,并且单词之间的空格要与原文一致。写的时候没有使用string的输入,而是选择了char数组的输入。样例测试helloworld->ollehdlrow是没有问题的,就以为没问题,但是一直通不过。调试的时候,变量也是有些神奇,不过这个是系......