找回密码
 立即注册
CeraNetworksBGVM服务器主机交流IP归属甄别会员请立即修改密码
查看: 33|回复: 5

一个python里post和get的问题请教大家,谢谢

[复制链接]

19

主题

288

回帖

1021

积分

金牌会员

积分
1021
发表于 2020-2-5 07:44:17 | 显示全部楼层 |阅读模式
directadmin的官方api有这样一段话

special.php
You must provide ?lid=1234 as GET for each request, no matter what.
Even for POST values, the GET ?lid must always be present. These 'special' commands require that your account has access to these functions.

以下是我写的代码:

import requests

uid = "123456"
password = "123456"

def change_license_ip():
    "修改授权ip"
    url = "https://www.directadmin.com/clients/api/special.php?lid=12345&saveip=1&ip="
    ip = input("请输入新的授权ip:")
    r = requests.post(url + ip, auth=(uid, password))  # 用POST方式发送请求并获得响应
    print(r.text)

change_license_ip()

但是da的api返回错误。请教一下php里可以通过_get[变量]来传递,python里应该怎么写?谢谢。
回复

使用道具 举报

45

主题

408

回帖

1703

积分

金牌会员

积分
1703
发表于 2020-2-5 07:50:40 | 显示全部楼层
依我的理解你上面的做法是对的,另外它返回什么错误?
回复

使用道具 举报

1

主题

373

回帖

959

积分

高级会员

积分
959
发表于 2020-2-5 08:51:29 | 显示全部楼层
请用 request
回复

使用道具 举报

3

主题

20

回帖

69

积分

注册会员

积分
69
发表于 2020-2-5 13:41:00 | 显示全部楼层
urllib也行
回复

使用道具 举报

118

主题

266

回帖

1780

积分

金牌会员

积分
1780
发表于 2020-2-5 13:46:49 | 显示全部楼层
本帖最后由 yjsx86 于 2020-2-5 13:52 编辑

没用过da
你的意思是把
uid = "123456"
password = "123456"
post 到
"https://www.directadmin.com/clients/api/special.php?lid=12345&saveip=1&ip=" + ip
这个地址是吧

[ol]
  • import requests
  • data = {
  •     'uid': "123456",
  •     'password': "123456"
  • }
  • def change_license_ip():
  •     "修改授权ip"
  •     url = "https://www.directadmin.com/clients/api/special.php?lid=12345&saveip=1&ip="
  •     ip = input("请输入新的授权ip:")
  •     r = requests.post(url + ip, data=data)  # 用POST方式发送请求并获得响应
  •     print(r.text)
  • change_license_ip()[/ol]复制代码

    还有 如果数据是payload而不是formdata的话,
    data= json.dumps(data)

    还有 对于密码这些 大多数网站是用js对密码md5加密后再传输的
    你有可能需要对密码加密

    这些都可以从浏览器console看得出来
  • 回复

    使用道具 举报

    19

    主题

    288

    回帖

    1021

    积分

    金牌会员

    积分
    1021
     楼主| 发表于 2020-2-5 19:22:31 | 显示全部楼层

    yjsx86 发表于 2020-2-5 13:46

    没用过da
    你的意思是把
    uid = "123456"

    这是一个HTTP AUTH认证,官方要求lid用get的方式提交,其他元素用post
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|HS2V主机综合交流论坛

    GMT+8, 2024-5-23 20:33 , Processed in 0.056023 second(s), 3 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2023 Discuz! Team.

    快速回复 返回顶部 返回列表