แนะนำ สอบถาม ภาษา C สำหรับผู้เริ่มต้น ภาษา Java ภาษา Python
Moderator: mindphp , ผู้ดูแลกระดาน
chakirin.bfds
PHP Super Hero Member
โพสต์: 783 ลงทะเบียนเมื่อ: 22/12/2020 10:19 am
โพสต์ที่ยังไม่ได้อ่าน
โดย chakirin.bfds » 01/02/2021 12:30 pm
กำลังเขียน Python เพื่อตรวจเช็คเว็บไซต์(url) ว่าสามารถใช้งานได้หรือไม่ ซึ่งเมื่อลองทดสอบ url โดยตัด www. ออก
เช่น
จาก
https://
www.mindphp.com/%E0%B8%9A%E0%B8%97%E0%B ... enants.htm
เป็น
https:// .mindphp.com/%E0%B8%9A%E0%B8%97%E0%B8%84%E0%B8%A7%E0%B8%B2%E0%B8%A1/31-%E0%B8%84%E0%B8%A7%E0%B8%B2%E0%B8%A1%E0%B8%A3%E0%B8%B9%E0%B9%89%E0%B8%97%E0%B8%B1%E0%B9%88%E0%B8%A7%E0%B9%84%E0%B8%9B/8029-should-you-calculate-vat-with-tenants.html
โปรแกรมจะแจ้ง error
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
UnicodeError: encoding with 'idna' codec failed (UnicodeError: label empty or too long)
อันนี้เป็น error ที่เกิดจาก "ไม่ใช่อักขระชื่อโดเมนที่ถูกต้อง" หรือเปล่าครับ ?
มีวิธีแก้ไข error นี้มั้ยครับ หรือสามารถตั้งเป็นข้อยกเว้น except UnicodeError ได้เลยมั้ยครับ
chakirin.bfds
PHP Super Hero Member
โพสต์: 783 ลงทะเบียนเมื่อ: 22/12/2020 10:19 am
โพสต์ที่ยังไม่ได้อ่าน
โดย chakirin.bfds » 02/02/2021 10:22 am
นี่เป็น code ในการตรวจเช็ค url ที่ผมทำอยู่ครับ
โค้ด: เลือกทั้งหมด
#!/usr/bin/python
# -*- coding: utf-8 -*-
#method1
from urllib.request import Request, urlopen
from urllib.error import URLError, HTTPError
import configparser
import time
import email
import smtplib
con = None
config = configparser.ConfigParser()
config.read('admin.conf')
SMTP=config['options']['SMTP']
ports=config['options']['ports']
user = config['options']['user']
password = config['options']['password']
sender = config['options']['sender']
recipient = config['options']['recipient_email']
r_link= open('check_link.txt',"r")
plt = open("plateformEmail.txt")
plt = plt.read()
save_link = []
check = []
timeis = time.localtime()
time_hr = timeis.tm_hour
time_min = timeis.tm_min
time_sec = timeis.tm_sec
s_t = time.ctime()
#loop read link in file
n = 0
nu=1
print("Start_test:", s_t)
for line in r_link:
print("line:",nu)
nu+=1
line=line.lstrip()
line=line.replace(" ", "")
if line =="":
print("This line no url to test")
pass
# check link method1
else:
n += 1
try:
response = urlopen(line)
except HTTPError as e:
print('The server couldn\'t fulfill the request.', line)
print('Error code: ', e.code)
e.code = str(e.code)
save_link.append(
str(n) + " " + 'The server couldn\'t fulfill the request ' + '(' + e.code + ')' + ' :' + line)
check.append("N")
except URLError as e:
print('We failed to reach a server.', line)
print('Reason: ', e.reason)
save_link.append(str(n) + " " + 'We failed to reach a server. :' + line )
check.append("N")
else:
print('Website is working fine', line)
save_link.append(str(n) + " " + 'Website is working fine. :' + line)
check.append("Y")
thatsawan
PHP VIP Members
โพสต์: 28508 ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:
โพสต์ที่ยังไม่ได้อ่าน
โดย thatsawan » 02/02/2021 10:32 am
chakirin.bfds เขียน: ↑ 01/02/2021 12:30 pm
กำลังเขียน Python เพื่อตรวจเช็คเว็บไซต์(url) ว่าสามารถใช้งานได้หรือไม่ ซึ่งเมื่อลองทดสอบ url โดยตัด www. ออก
เช่น
จาก
https://
www.mindphp.com/%E0%B8%9A%E0%B8%97%E0%B ... enants.htm
เป็น
https:// .mindphp.com/%E0%B8%9A%E0%B8%97%E0%B8%84%E0%B8%A7%E0%B8%B2%E0%B8%A1/31-%E0%B8%84%E0%B8%A7%E0%B8%B2%E0%B8%A1%E0%B8%A3%E0%B8%B9%E0%B9%89%E0%B8%97%E0%B8%B1%E0%B9%88%E0%B8%A7%E0%B9%84%E0%B8%9B/8029-should-you-calculate-vat-with-tenants.html
ตัดผิดหรือป่าว ข้างบน ออกตัด www.
ผลลัพ จะต้องเป็น
https://mindphp.com
ซึ่งมันก็จะเข้าใช้งานได้ปกติ เหมือนมี www.
chakirin.bfds
PHP Super Hero Member
โพสต์: 783 ลงทะเบียนเมื่อ: 22/12/2020 10:19 am
โพสต์ที่ยังไม่ได้อ่าน
โดย chakirin.bfds » 02/02/2021 10:49 am
thatsawan เขียน: ↑ 02/02/2021 10:32 am
chakirin.bfds เขียน: ↑ 01/02/2021 12:30 pm
กำลังเขียน Python เพื่อตรวจเช็คเว็บไซต์(url) ว่าสามารถใช้งานได้หรือไม่ ซึ่งเมื่อลองทดสอบ url โดยตัด www. ออก
เช่น
จาก
https://
www.mindphp.com/%E0%B8%9A%E0%B8%97%E0%B ... enants.htm
เป็น
https:// .mindphp.com/%E0%B8%9A%E0%B8%97%E0%B8%84%E0%B8%A7%E0%B8%B2%E0%B8%A1/31-%E0%B8%84%E0%B8%A7%E0%B8%B2%E0%B8%A1%E0%B8%A3%E0%B8%B9%E0%B9%89%E0%B8%97%E0%B8%B1%E0%B9%88%E0%B8%A7%E0%B9%84%E0%B8%9B/8029-should-you-calculate-vat-with-tenants.html
ตัดผิดหรือป่าว ข้างบน ออกตัด www.
ผลลัพ จะต้องเป็น
https://mindphp.com
ซึ่งมันก็จะเข้าใช้งานได้ปกติ เหมือนมี www.
ok ได้เเล้วครับ
ผมคิดว่าน่าจะไม่ได้ลบจุดออกไปด้วย เลยทำให้โปรแกรมไม่สามารถอ่าน url ได้อย่างถูกต้องครับ
ผมได้ใส่ code นี่เพื่อกันโปรแกรมหยุดทำงานด้วยเเล้วครับ
โค้ด: เลือกทั้งหมด
except UnicodeError as e:
print('link is not a valid domain name character ', link)
print('Reason: ', e)
0 ตอบกลับ
1396 แสดง
โพสต์ล่าสุด โดย ichimarusoichi
15/01/2019 10:59 am
0 ตอบกลับ
2914 แสดง
โพสต์ล่าสุด โดย Jom07
21/02/2018 5:35 pm
0 ตอบกลับ
813 แสดง
โพสต์ล่าสุด โดย Jom07
08/02/2018 4:02 pm
0 ตอบกลับ
2279 แสดง
โพสต์ล่าสุด โดย ธวัชชัย แสนหาญ
26/02/2019 6:13 pm
1 ตอบกลับ
1197 แสดง
โพสต์ล่าสุด โดย mindphp
06/10/2021 11:51 am
1 ตอบกลับ
3495 แสดง
โพสต์ล่าสุด โดย mindphp
03/05/2017 3:37 am
สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 107