网站 post get怎么做

我想测试一下 网站的post get功能,但是对网站基本上是小学生
网站空间要怎么搭建才可以接受get post? 需要什么环境?

请问你是想测试后端接口还是测试前端页面?
如果是想测试接口的get post请求,可以使用postman工具

  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7401340
  • 你也可以参考下这篇文章:微信小程序get与post请求
  • 除此之外, 这篇博客: 爬虫基本知识梳理中的 get&post 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    • get请求一般就直接把请求的参数以?parameter1=value1&parameter2=value2 等这样的形式发送出去了,所以不用带上额外的请求参数,
    • post请求则一般需要带上额外的参数,而不直接把参数在url当中,所以有的时候我们还需要关注参数这一栏。

    get:从指定的资源请求数据。 请注意,查询字符串(名称/值对)是在get请求在Url中发送的
    post: 向指定的资源提交被处理的数据 请注意,查询字符串(名称/值对)是在post请求的HTTP消息主体中发送的
    Python爬虫中的Get和Post方法
    HTTP中GET与POST之间的区别

  • 您还可以看一下 陈朝华老师的简单增删查改新闻管理系统课程中的 Get请求与Post请求小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    要在网站上进行post和get请求的测试,可以使用Python的requests库来发送这些请求。在发送请求前,要先了解请求的URL、请求头和请求参数等。对于post请求,还需要了解请求体中要提交的数据格式。具体步骤如下:

    1. 导入requests库和其他需要的库(例如lxml、MySQLdb等)。

    2. 构造请求的URL,如果需要发送请求参数,则将参数组织成字典或字符串形式,例如{'key1': 'value1', 'key2': 'value2'}或'key1=value1&key2=value2'。

    3. 如果需要在请求头中添加信息,例如User-Agent、Cookie等,则将信息组织成字典形式,例如{'User-Agent': 'Mozilla/5.0', 'Cookie': 'xxx'}。

    4. 对于post请求,还需要构造请求体。根据具体的情况来确定请求体的格式和内容。例如,如果需要提交表单数据,则可以使用字典或元组形式,例如{'username': 'tom', 'password': '123456'}或(('username', 'tom'), ('password', '123456'))。

    5. 使用requests库的get或post方法发送请求,并将响应结果存储下来,例如response = requests.get(url, headers=headers, params=params)或response = requests.post(url, headers=headers, data=data)。

    6. 对响应结果进行处理。例如,可以将响应结果解析成JSON格式或HTML格式,然后从中提取所需的数据。

    7. 可以将获取到的数据保存到本地文件或数据库中。

    需要注意的是,发送请求前要确保请求的URL和请求参数都是正确的,否则可能会出现请求失败或获取到错误数据的情况。

    下面是一段使用requests库从知乎专栏爬取文章并将数据存入MySQL数据库的示例代码,供参考:

    import requests
    from lxml import etree
    import MySQLdb
    
    conn = MySQLdb.connect(
        user = 'root',
        password = '123456',
        host = 'localhost',
        db = 'spider',
        charset = 'utf8',
        port = 3306
    )
    cursor = conn.cursor()
    
    url = 'https://zhuanlan.zhihu.com/api/recommendations/columns?limit=200&offset=0'
    
    headers = {'cookie': '_zap=f092cdcc-4278-44d3-b29d-da3fc28eaa66; _xsrf=R4iF43mZlYxCoqegJS8rHNJG49iMaO9J; d_c0="AGAZ6gs-pRCPTuJB6zc5XZ1R4LwViDxtKsk=|1578747134"; capsion_ticket="2|1:0|10:1578792144|14:capsion_ticket|44:ZDk4MmQ0MDQyOGExNDRjYThhZWMyZjk3MzJiZGVlOTA=|51c98794abaa756f4960896970098d77c9ce4e071745b3807edb3d9289df8f98"; Hm_lvt_98beee57fd2ef70ccdd5ca52b9740c49=1578747134,1578747151,1578791652,1578792161; Hm_lpvt_98beee57fd2ef70ccdd5ca52b9740c49=1578794724; KLBRSID=cdfcc1d45d024a211bb7144f66bda2cf|1578794725|1578791651',
               'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36'
               }
    
    resp = requests.get(url=url, headers=headers).json()
    for i in resp['data']:  # 所有专栏
        try:
            column_url = i['url']
            column_key = column_url.split('.com/')[1]
            column_url = 'https://zhuanlan.zhihu.com/api/columns/'+ column_key +'/articles?include=data%5B*%5D.admin_closed_comment%2Ccomment_count%2Csuggest_edit%2Cis_title_image_full_screen%2Ccan_comment%2Cupvoted_followees%2Ccan_open_tipjar%2Ccan_tip%2Cvoteup_count%2Cvoting%2Ctopics%2Creview_info%2Cauthor.is_following%2Cis_labeled%2Clabel_info&limit=100&offset=0'
            resp = requests.get(url=column_url, headers=headers).json()  # 当前专栏下的所有文章
            for j in resp['data']:  # 遍历取出当前专栏下的所有文章标题和url
                title = j['title']
                article_url = j['url']
                resp = requests.get(url=article_url, headers=headers).text
                html = etree.HTML(resp)
                column_name = html.xpath('//a[@class="ColumnLink ColumnPageHeader-TitleColumn"]/text()')[0]
                content_list = html.xpath('//div[@class="RichText ztext Post-RichText"]//text()')
                content = ''
                for k in content_list:
                    content += k
                sql = 'insert into zhihu_zhuanlan(column_title, article_title, content) values(%s, %s, %s)'
                rows = cursor.execute(sql, [column_name, title, content])
                if rows:
                    conn.commit()
                    print('成功存入数据库')
        except:
            print('出错了')
            continue