Python ';ValueError:未知的url类型位于';tkinter和urllib
看来我遗漏了一些非常重要的东西。即使在GUI窗口弹出或单击按钮之前,我也会遇到此错误 当我在entry中输入数据时,它应该将数据传递到“url\u链接”中,该链接在“get\u data\u url”中进一步传递。“get_data_url”功能应该在按下按钮后执行,但它是在开始时执行的。我不确定这里出了什么问题Python ';ValueError:未知的url类型位于';tkinter和urllib,python,tkinter,urllib,Python,Tkinter,Urllib,看来我遗漏了一些非常重要的东西。即使在GUI窗口弹出或单击按钮之前,我也会遇到此错误 当我在entry中输入数据时,它应该将数据传递到“url\u链接”中,该链接在“get\u data\u url”中进一步传递。“get_data_url”功能应该在按下按钮后执行,但它是在开始时执行的。我不确定这里出了什么问题 Traceback (most recent call last): File "gui.py", line 100, in <module>
Traceback (most recent call last):
File "gui.py", line 100, in <module>
btn1 = Button(win, text="Submit", command = get_data_url(url_link))
File "gui.py", line 50, in get_data_url
req = Request(url_link, headers={'User-Agent': 'Mozilla/5.0'})
File "/usr/lib/python3.8/urllib/request.py", line 328, in __init__
self.full_url = url
File "/usr/lib/python3.8/urllib/request.py", line 354, in full_url
self._parse()
File "/usr/lib/python3.8/urllib/request.py", line 383, in _parse
raise ValueError("unknown url type: %r" % self.full_url)
ValueError: unknown url type: '/wp-json/wp/v2/posts/?per_page=100'
您应该在Submit按钮的回调中获取
条目的内容,构造URL并调用get\u data\u URL()
:
def submit():
urlhere=entry1.get()
url\u link=urlhere+“/wp json/wp/v2/posts/?每页=100”
获取数据url(url链接)
btn1=按钮(win,text=“Submit”,command=Submit)
您应该在Submit按钮的回调中获取条目的内容,构造URL并调用get\u data\u URL()
:
def submit():
urlhere=entry1.get()
url\u link=urlhere+“/wp json/wp/v2/posts/?每页=100”
获取数据url(url链接)
btn1=按钮(win,text=“Submit”,command=Submit)
错误可能是由事件驱动编程引起的,您在运行时在此处分配url\u的值,这意味着它将是空的(因为框在开始时是空的),因此要修复它,请将其移动到函数内部,如:
# Same code
def get_data_url():
urlhere = entry1.get()
url_link = urlhere + "/wp-json/wp/v2/posts/?per_page=100"
req = Request(url_link, headers={'User-Agent': 'Mozilla/5.0'})
webpage = urlopen(req).read()
## Fetching hostname of the URL
.... # Same code
btn1 = Button(win, text="Submit", command=get_data_url)
您可以删除该参数,因为您不必再使用它。该错误可能是由于事件驱动编程造成的,您在运行时在此处分配url\u的值,这意味着它将是空的(因为框在开始时是空的),因此要修复它,请将其移动到函数内部,如:
# Same code
def get_data_url():
urlhere = entry1.get()
url_link = urlhere + "/wp-json/wp/v2/posts/?per_page=100"
req = Request(url_link, headers={'User-Agent': 'Mozilla/5.0'})
webpage = urlopen(req).read()
## Fetching hostname of the URL
.... # Same code
btn1 = Button(win, text="Submit", command=get_data_url)
您可以删除该参数,因为您不必再使用它。粘贴整个错误代码。@CoolCloud已更新。tkinter的基础知识-command=lambda:get\u data\u url(url\u链接)
@CoolCloud谢谢您,但它没有解决主要错误。为什么您的URL没有www
或.com
?粘贴整个错误代码。@CoolCloud已更新。tkinter的基础知识-命令=lambda:get\u data\u URL(URL\u链接)
@CoolCloud谢谢您,但它没有解决主要错误。为什么您的URL没有www
或.com
?