整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

一文读懂URI和URL的区别

*URI(Uniform Resource Identifier,统一资源标识符)**和 URL(Uniform Resource Locator,统一资源定位符) 都是用于标识互联网资源的字符串。但是,两者之间存在一些细微的差别。

URI 是一个更通用的概念,它可以用于标识任何类型的资源,包括物理资源和数字资源。例如,以下内容都是有效的 URI:

  • https://www.example.com/index.html:这是一个指向网页的 URL。
  • mailto:user@example.com:这是一个指向电子邮件地址的 URI。
  • urn:isbn:978-1734314502:这是一个指向书籍的 URI。

URL 是 URI 的一种子集,它专门用于标识互联网上的资源。URL 通常以 http://https:// 开头,后面跟着域名和资源路径。例如,以下内容都是有效的 URL:

  • https://www.example.com/index.html
  • https://www.example.com/images/logo.png

URI 和 URL 之间的区别主要体现在以下几个方面:

  • 范围:URI 的范围更广,可以用于标识任何类型的资源,而 URL 只能用于标识互联网上的资源。
  • 格式:URI 的格式没有严格的限制,而 URL 具有特定的格式要求。
  • 用途:URI 通常用于标识资源本身,而 URL 通常用于定位资源。

以下是一些区分 URI 和 URL 的示例:

  • 标识一个网页: URI:https://www.example.com/index.htmlURL:https://www.example.com/index.html
  • 标识一封电子邮件: URI:mailto:user@example.comURL:(not a valid URL)
  • 标识一本书: URI:urn:isbn:978-1734314502URL:(not a valid URL)

总而言之,URI 是一个更通用的概念,它可以用于标识任何类型的资源。URL 是 URI 的一种子集,它专门用于标识互联网上的资源。区分 URI 和 URL 的关键在于它们的范围、格式和用途。

jango带有易于使用的轻型引擎来发送电子邮件。与Python类似,您只需要导入smtplib。在Django中,您只需要导入django.core.mail。要开始发送电子邮件,请编辑您的项目settings.py文件并设置以下选项-

  • EMAIL_HOST -smtp服务器。
  • EMAIL_HOST_USER -smtp服务器的登录凭据。
  • EMAIL_HOST_PASSWORD -smtp服务器的密码凭证。
  • EMAIL_PORT -smtp服务器端口。
  • EMAIL_USE_TLS或_SSL-如果安全连接,则为 True。

发送简单的电子邮件

让我们创建一个“ sendSimpleEmail”视图以发送简单的电子邮件。

from django.core.mail import send_mail
from django.http import HttpResponse

def sendSimpleEmail(request,emailto):
   res = send_mail("hello paul", "comment tu vas?", "paul@polo.com", [emailto])
   return HttpResponse('%s'%res)

这是send_mail参数的详细信息-

  • 主题 -电子邮件主题。
  • 消息 -电子邮件正文。
  • from_email-电子邮件来源。
  • receiver_list- 收件人的电子邮件地址列表。
  • fail_silently-布尔,如果错误,则send_mail会在发生错误的情况下引发异常。
  • auth_user-用户登录(如果未在settings.py中设置)。
  • auth_password-用户密码(如果未在settings.py中设置)。
  • 连接 -电子邮件后端。
  • html_message-(在Django 1.7中是新增功能)(如果存在),则电子邮件将是多部分/替代的。

我们创建一个URL以访问我们的视图-

from django.conf.urls import patterns, url

urlpatterns = paterns('myapp.views', url(r'^simpleemail/(?P<emailto>
   [\w.%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4})/', 
   'sendSimpleEmail' , name = 'sendSimpleEmail'),)

因此,当访问/myapp/simpleemail/polo@gmail.com时,您将获得以下页面-

使用send_mass_mail发送多个邮件

该方法返回成功传递的消息数。与send_mail相同,但带有一个额外的参数;datatuple,我们的sendMassEmail视图将是-

from django.core.mail import send_mass_mail
from django.http import HttpResponse

def sendMassEmail(request,emailto):
   msg1 = ('subject 1', 'message 1', 'polo@polo.com', [emailto1])
   msg2 = ('subject 2', 'message 2', 'polo@polo.com', [emailto2])
   res = send_mass_mail((msg1, msg2), fail_silently = False)
   return HttpResponse('%s'%res)

我们创建一个URL以访问我们的视图-

from django.conf.urls import patterns, url

urlpatterns = paterns('myapp.views', url(r'^massEmail/(?P<emailto1>
   [\w.%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4})/(?P<emailto2>
   [\w.%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4})', 'sendMassEmail' , name = 'sendMassEmail'),)

当访问/myapp/massemail/polo@gmail.com/sorex@gmail.com/时,我们得到-

send_mass_mail参数的详细信息是-

  • datatuples-每个元素都相似的元组(主题,消息,from_email,receiver_list)。
  • fail_silently-布尔,如果错误,则send_mail会在发生错误的情况下引发异常。
  • auth_user-用户登录(如果未在settings.py中设置)。
  • auth_password-用户密码(如果未在settings.py中设置)。
  • 连接 -电子邮件后端。

如上图所示,成功发送了两条消息。

注意 -在此示例中,我们使用Python smtp debuggingserver,您可以使用以下命令启动-

$python -m smtpd -n -c DebuggingServer localhost:1025

这意味着您发送的所有电子邮件都将打印在stdout上,并且虚拟服务器正在localhost:1025上运行。

使用mail_admins和mail_managers方法向管理员和经理发送电子邮件

这些方法将电子邮件发送到settings.py文件的ADMINS选项中定义的站点管理员,并将电子邮件发送到settings.py文件的MANAGERS选项中定义的站点管理员。假设我们的ADMINS和MANAGERS选项看起来像-

ADMINS =(('polo','polo@polo.com'),)

经理 =(('popoli','popoli@polo.com'),)

from django.core.mail import mail_admins
from django.http import HttpResponse

def sendAdminsEmail(request):
   res = mail_admins('my subject', 'site is going down.')
   return HttpResponse('%s'%res)

上面的代码将向ADMINS部分中定义的每个管理员发送电子邮件。

from django.core.mail import mail_managers
from django.http import HttpResponse

def sendManagersEmail(request):
   res = mail_managers('my subject 2', 'Change date on the site.')
   return HttpResponse('%s'%res)

上面的代码将向MANAGERS部分中定义的每个经理发送电子邮件。

参数详细信息-

  • 主题 -电子邮件主题。
  • 消息 -电子邮件正文。
  • fail_silently-布尔,如果错误,则send_mail会在发生错误的情况下引发异常。
  • 连接 -电子邮件后端。
  • html_message-(在Django 1.7中是新增功能)(如果存在),则电子邮件将是多部分/替代的。

发送HTML电子邮件

在Django> = 1.7中发送HTML消息就像-

from django.core.mail import send_mail

from django.http import HttpResponse
   res = send_mail("hello paul", "comment tu vas?", "paul@polo.com", 
         ["polo@gmail.com"], html_message=")

这将生成多部分/替代电子邮件。

但是对于Django <1.7,发送HTML消息是通过django.core.mail.EmailMessage类完成的,然后在对象上调用“发送”-

让我们创建一个“ sendHTMLEmail”视图以发送HTML电子邮件。

from django.core.mail import EmailMessage
from django.http import HttpResponse

def sendHTMLEmail(request , emailto):
   html_content = "<strong>Comment tu vas?</strong>"
   email = EmailMessage("my subject", html_content, "paul@polo.com", [emailto])
   email.content_subtype = "html"
   res = email.send()
   return HttpResponse('%s'%res)

EmailMessage类创建的参数详细信息-

  • 主题 -电子邮件主题。
  • 消息 -HTML中的电子邮件正文。
  • from_email-电子邮件来源。
  • -收件人的电子邮件地址列表。
  • 密件抄送-“密件抄送”收件人的电子邮件地址列表。
  • 连接 -电子邮件后端。

我们创建一个URL以访问我们的视图-

from django.conf.urls import patterns, url

urlpatterns = paterns('myapp.views', url(r'^htmlemail/(?P<emailto>
   [\w.%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4})/', 
   'sendHTMLEmail' , name = 'sendHTMLEmail'),)

访问/myapp/htmlemail/polo@gmail.com时,我们得到-

发送带有附件的电子邮件

这是通过在EmailMessage对象上使用“ attach”方法来完成的。

发送带有附件的电子邮件的视图将是-

from django.core.mail import EmailMessage
from django.http import HttpResponse

def sendEmailWithAttach(request, emailto):
   html_content = "Comment tu vas?"
   email = EmailMessage("my subject", html_content, "paul@polo.com", emailto])
   email.content_subtype = "html"
   
   fd = open('manage.py', 'r')
   email.attach('manage.py', fd.read(), 'text/plain')
   
   res = email.send()
   return HttpResponse('%s'%res)

有关附加参数的详细信息-

  • filename-要附加的文件名。
  • content-要附加的文件的内容。
  • mimetype-附件的内容mime类型。

文共3091字,预计学习时长9分钟

来源:Pexels

“嘿,这是链接,有空给我打电话。”

国外的朋友说完这话,就在Facebook上给小芯发了一个链接。不知道这是什么链接就顺手点开了。令小芯吃惊的是,手机拨号器竟然启动了,上面自动输入了一串号码。小芯在TrueCaller上查了一下这个号码,想看看是谁的——居然就是朋友的。小芯感到非常惊喜,于是决定对这个超赞的功能进行一番研究。


接下来,将会与大家分享小芯收集到的知识。


简介


通过HTML可以添加能够直接启动手机拨号盘的链接,但这一功能只适用于手机,然而谷歌浏览器有一个很赞的功能:在电脑上点击这个链接,然后就可以通过手机拨打电话。这些链接称为点击拨号链接。


<!-- This link would open your dialpad with the number 123456789 -->

<ahref="tel:123456789">Click Me To Call Me</a>

clickToCall.html hosted with ❤ by GitHub

打开号码拨号


HTML hrefURI的其它诀窍


还有一些很赞的诀窍。


· 打开指向某个地址的谷歌地图

· 打开预写好收件人和邮件正文的电子邮件客户端

· 打开预写好短信内容的短信服务应用程序

来源:Pexels

打开指向某个地址的谷歌地图


你可以用谷歌地图打开某个地址,这些链接称为地图URL,可以跨平台使用。如果手机中安装了谷歌地图的本地应用程序,那么URL会打开应用程序,并执行请求的操作。若未安装的话,URL就会在浏览器中启用谷歌地图,再执行请求的操作。


将有以下几种选择:


· 打开显示地址位置的谷歌地图

· 打开带有地址方位的谷歌地图


阅读参考资料中的文档,了解更多关于地图URL的信息。


<!-- This link would open Google Maps with the location of the address No 20, James Road, Washington -->

<ahref="https://www.google.com/maps/search/?api=1&query=20,James%20Road,Washington">Click Me To Open Google Maps</a>

<!-- This link would open Google Maps with the direction to the address No 20, James Road, Washington -->

<ahref="https://www.google.com/maps/dir/?api=1&destination=20,James%20Road,Washington">Click Me To Open Google Maps</a>

<!-- P.S. There is No James Road in Washington :P -->

clickToOpenMaps.html hosted with ❤ by GitHub

使用此代码段打开谷歌地图


打开预写好收件人和邮件正文的电子邮件客户端


mailto:通过该标签,可以打开用户的电子邮件客户端并创建新邮件,添加邮件主题、正文、收件人、抄送和密送的电子邮件地址。


以下是包含上述示例的代码片段。


<!-- This would open your email client and create a new mail addressed to someone@abc.com -->

<ahref="mailto:someone@abc.com">Click Here To Mail Me</a>

<!-- This would open your email client and create a new mail addressed to someone@abc.com with the subject Mail From Link -->

<ahref="mailto:someone@abc.com?subject=Mail From Link">Click Here To Mail Me With A Subject</a>

<!-- This would open your email client and create a new mail addressed to someone@abc.com with the subject Mail From Link and a message body as Sample Email-->

<ahref="mailto:someone@abc.com?subject=Mail From Link&body=Sample Email">Click Here To Mail Me With A Subject And Body</a>

<!-- This would open your email client and create a new mail addressed to someone@abc.com with the subject Mail From Link and a message body as Sample Email-->

<ahref="mailto:someone@abc.com?cc=john@someemail.com,jack@junga.com&subject=Mail From Link&body=Sample Email">Click Here To Mail Me With A Subject And Body And CC To Few Others</a>

view rawclickToOpenMail.html hosted with ❤ by GitHub

使用此代码段打开电子邮件客户端

来源:Pexels

打开预写好短信内容的短信服务应用程序(不支持IOS)


Sms:通过该标签,可以将写好正文的短信发送到某个号码上。不过,请确保正文内容采用的是URL编码格式,这样才能确保发送过去后,符号和空格也可以正常显示。下面是一个用法示例的代码片段。


<!-- This would open your sms app and create a new message to +94771234557 with

the message shsa@ 2324@#$%^& Hi there I'd Like A Coffee

Make sure you encode your message body before sending-->

<ahref="sms:+94771234557?body=shsa%40%202324%40%23%24%25%5E%26%20Hi%20there%20I%27d%20Like%20A%20Coffee">

Click here to text us!

</a>

view rawclickToOpenSms.html hosted with ❤ by GitHub

使用此代码段打开短信服务客户端


惊喜


你可以将以上这些技巧运用到个人简历上。只需一个PDF编辑器,为任何想要的文本添加链接,使用上述示例方案(链接)作为URL。在线PDF编辑器请参见下方参考资料的链接。


是不是很神奇,虽然都是些简单的操作,却能让人眼前一亮,十分惊喜,快来试试吧~

留言点赞关注

我们一起分享AI学习与发展的干货

如转载,请后台留言,遵守转载规范