查看: 747|回复: 8

[Python] 为什么会报错呢

[复制链接]

0

技术

9

魅力

1

原创

版主

禁止访问

Rank: 7Rank: 7Rank: 7

积分
7757
人气
176
分享
52

最佳新人活跃会员

发表于 2022-8-23 11:22:26 | 显示全部楼层 |阅读模式
调用@YFSafe 的API报错
[Python] 纯文本查看 复制代码
#api.py
# 导入requests模块,并且简写为re
import requests as re


# 确定网址

def getVir(md5):
    url = 'http://yfchat.xyz/api.php?md5=' + md5
    res = re.get(url).text
    return res

[Python] 纯文本查看 复制代码
#api-test.py
import api

print(api.getVir(1f0d5e334a))

报错信息:
Traceback (most recent call last):
  File "F:\Python Project\get-virus-api\api-test.py", line 8, in <module>
    print(getApiRes())
  File "F:\Python Project\get-virus-api\api-test.py", line 4, in getApiRes
    isVir = api.getVir(1)
  File "F:\Python Project\get-virus-api\api.py", line 8, in getVir
    url = 'http://yfchat.xyz/api.php?md5=' + md5
TypeError: can only concatenate str (not "int") to str

@xiaomeng242


小菜鸡一枚~
Gitee主页:https://gitee.com/juruoqwq

0

技术

1

魅力

0

原创

略知一二

Rank: 3Rank: 3

积分
902
人气
25
分享
0
发表于 2022-8-23 14:28:39 | 显示全部楼层
帮你解读一下:
TypeError: can only concatenate str (not "int") to str
意思是不能够把一个整数和字符串进行拼接运算

所以,你把md5改为int(md5)的形式即可

这是一个很初级的错误,把int,str,type的区别理解了这里就不会再错了

0

技术

9

魅力

1

原创

版主

禁止访问

Rank: 7Rank: 7Rank: 7

积分
7757
人气
176
分享
52

最佳新人活跃会员

 楼主| 发表于 2022-8-23 16:24:10 | 显示全部楼层
xiaomeng242 发表于 2022-8-23 14:28
帮你解读一下:
TypeError: can only concatenate str (not "int") to str
意思是不能够把一个整数和字符串 ...

我试了一下,发现这样
[Python] 纯文本查看 复制代码
getVir("1f0d5e334a")

就行了
小菜鸡一枚~
Gitee主页:https://gitee.com/juruoqwq

2

技术

6

魅力

2

原创

病毒研究组

Rank: 8Rank: 8

积分
1721
人气
179
分享
17

最佳新人活跃会员

发表于 2022-8-23 17:57:42 | 显示全部楼层
你没有进行类型转换呀

0

技术

1

魅力

0

原创

略知一二

Rank: 3Rank: 3

积分
902
人气
25
分享
0
发表于 2022-8-23 18:01:09 | 显示全部楼层
蒟蒻 发表于 2022-8-23 16:24
我试了一下,发现这样

就行了 ...

你这是调用函数

0

技术

1

魅力

0

原创

略知一二

Rank: 3Rank: 3

积分
902
人气
25
分享
0
发表于 2022-8-23 21:10:48 | 显示全部楼层
hackerbob 发表于 2022-8-23 17:57
你没有进行类型转换呀

他根本没进行类型交换,他之所以改对了,是因为他直接调用了函数,里面的md5默认就为int类型了

2

技术

6

魅力

2

原创

病毒研究组

Rank: 8Rank: 8

积分
1721
人气
179
分享
17

最佳新人活跃会员

发表于 2022-8-24 17:26:56 | 显示全部楼层
xiaomeng242 发表于 2022-8-23 21:10
他根本没进行类型交换,他之所以改对了,是因为他直接调用了函数,里面的md5默认就为int类型了 ...

对,但这样写程序很容易出bug,因为类型完全由传入的参数决定

0

技术

1

魅力

0

原创

略知一二

Rank: 3Rank: 3

积分
902
人气
25
分享
0
发表于 2022-8-24 20:21:56 | 显示全部楼层
hackerbob 发表于 2022-8-24 17:26
对,但这样写程序很容易出bug,因为类型完全由传入的参数决定

而且我不明白他为啥要自己造一个请求api的轮子,自己造轮子本身就很容易出bug,他还非得用另外一个py去调用

一般我写一些大型项目才会造轮子调用

0

技术

9

魅力

1

原创

版主

禁止访问

Rank: 7Rank: 7Rank: 7

积分
7757
人气
176
分享
52

最佳新人活跃会员

 楼主| 发表于 2023-1-28 11:09:05 | 显示全部楼层
xiaomeng242 发表于 2022-8-24 20:21
而且我不明白他为啥要自己造一个请求api的轮子,自己造轮子本身就很容易出bug,他还非得用另外一个py去调 ...

纯粹为了好van
小菜鸡一枚~
Gitee主页:https://gitee.com/juruoqwq
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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