火车查询API(火车查询实时行程)

网友投稿 432 2022-11-06


火车查询API(火车查询实时行程)

本文目录一览:

常用的API有哪些

WINDOWS编程常用API函数

1. API之网络函数

WNetAddConnection 创建同一个网络资源的永久性连接

WNetAddConnection2 创建同一个网络资源的连接

WNetAddConnection3 创建同一个网络资源的连接

WNetCancelConnection 结束一个网络连接

WNetCancelConnection2 结束一个网络连接

WNetCloseEnum 结束一次枚举操作

WNetConnectionDialog 启动一个标准对话框,以便建立同网络资源的连接

WNetDisconnectDialog 启动一个标准对话框,以便断开同网络资源的连接

WNetEnumResource 枚举网络资源

WNetGetConnection 获取本地或已连接的一个资源的网络名称

WNetGetLastError 获取网络错误的扩展错误信息

WNetGetUniversalName 获取网络中一个文件的远程名称以及/或者UNC(统一命名规范)名称

WNetGetUser 获取一个网络资源用以连接的名字

WNetOpenEnum 启动对网络资源进行枚举的过程

2. API之消息函数

BroadcastSystemMessage 将一条系统消息广播给系统中所有的顶级窗口

GetMessagePos 取得消息队列中上一条消息处理完毕时的鼠标指针屏幕位置

GetMessageTime 取得消息队列中上一条消息处理完毕时的时间

PostMessage 将一条消息投递到指定窗口的消息队列

PostThreadMessage 将一条消息投递给应用程序

RegisterWindowMessage 获取分配给一个字串标识符的消息编号

ReplyMessage 答复一个消息

SendMessage 调用一个窗口的窗口函数,将一条消息发给那个窗口

SendMessageCallback 将一条消息发给窗口

SendMessageTimeout 向窗口发送一条消息

SendNotifyMessage 向窗口发送一条消息

3. API之文件处理函数

CloseHandle 关闭一个内核对象。其中包括文件、文件映射、进程、线程、安全和同步对象等

CompareFileTime 对比两个文件的时间

CopyFile 复制文件

CreateDirectory 创建一个新目录

CreateFile 打开和创建文件、管道、邮槽、通信服务、设备以及控制台

CreateFileMapping 创建一个新的文件映射对象

DeleteFile 删除指定文件

DeviceIoControl 对设备执行指定的操作

DosDateTimeToFileTime 将DOS日期和时间值转换成一个 win32 FILETIME 值

FileTimeToDosDateTime 将一个 win32 FILETIME 值转换成DOS日期和时间值

FileTimeToLocalFileTime 将一个FILETIME结构转换成本地时间

FileTimeToSystemTime 根据一个FILETIME结构的内容,装载一个SYSTEMTIME结构

FindClose 关闭由FindFirstFile函数创建的一个搜索句柄

FindFirstFile 根据文件名查找文件

FindNextFile 根据调用FindFirstFile函数时指定的一个文件名查找下一个文件

FlushFileBuffers 针对指定的文件句柄,刷新内部文件缓冲区

FlushViewOfFile 将写入文件映射缓冲区的所有数据都刷新到磁盘

GetBinaryType 判断文件是否可以执行

GetCompressedFileSize 判断一个压缩文件在磁盘上实际占据的字节数

GetCurrentDirectory 在一个缓冲区中装载当前目录

GetDiskFreeSpace 获取与一个磁盘的组织有关的信息,以及了解剩余空间的容量

GetDiskFreeSpaceEx 获取与一个磁盘的组织以及剩余空间容量有关的信息

GetDriveType 判断一个磁盘驱动器的类型

GetExpandedName 取得一个压缩文件的全名

GetFileAttributes 判断指定文件的属性

GetFileInformationByHandle 这个函数提供了获取文件信息的一种机制

GetFileSize 判断文件长度

GetFileTime 取得指定文件的时间信息

GetFileType 在给出文件句柄的前提下,判断文件类型

GetFileVersionInfo 从支持版本标记的一个模块里获取文件版本信息

GetFileVersionInfoSize 针对包含了版本资源的一个文件,判断容纳文件版本信息需要一个多大的缓冲区

GetFullPathName 获取指定文件的完整路径名

GetLogicalDrives 判断系统中存在哪些逻辑驱动器字母

GetLogicalDriveStrings 获取一个字串,其中包含了当前所有逻辑驱动器的根驱动器路径

GetOverlappedResult 判断一个重叠操作当前的状态

GetPrivateProfileInt 为初始化文件(.ini文件)中指定的条目获取一个整数值

GetPrivateProfileSection 获取指定小节(在.ini文件中)所有项名和值的一个列表

GetPrivateProfileString 为初始化文件中指定的条目取得字串

GetProfileInt 取得win.ini初始化文件中指定条目的一个整数值

GetProfileSection 获取指定小节(在win.ini文件中)所有项名和值的一个列表

GetProfileString 为win.ini初始化文件中指定的条目取得字串

GetShortPathName 获取指定文件的短路径名

GetSystemDirectory 取得Windows系统目录(即System目录)的完整路径名

GetTempFileName 这个函数包含了一个临时文件的名字,它可由应用程序使用

GetTempPath 获取为临时文件指定的路径

GetVolumeInformation 获取与一个磁盘卷有关的信息

GetWindowsDirectory 获取Windows目录的完整路径名

hread 参考lread

hwrite 参考lwrite函数

lclose 关闭指定的文件

lcreat 创建一个文件

llseek 设置文件中进行读写的当前位置

LockFile 锁定文件的某一部分,使其不与其他应用程序共享

LockFileEx 与LockFile相似,只是它提供了更多的功能

lopen 以二进制模式打开指定的文件

lread 将文件中的数据读入内存缓冲区

lwrite 将数据从内存缓冲区写入一个文件

LZClose 关闭由LZOpenFile 或 LZInit函数打开的一个文件

LZCopy 复制一个文件

LZInit 这个函数用于初始化内部缓冲区

LZOpenFile 该函数能执行大量不同的文件处理,而且兼容于压缩文件

LZRead 将数据从文件读入内存缓冲区

LZSeek 设置一个文件中进行读写的当前位置

MapViewOfFile 将一个文件映射对象映射到当前应用程序的地址空间

MoveFile 移动文件

OpenFile 这个函数能执行大量不同的文件操作

OpenFileMapping 打开一个现成的文件映射对象

QueryDosDevice 在Windows NT中,DOS设备名会映射成NT系统设备名。该函数可判断当前的设备映射情况

ReadFile 从文件中读出数据

ReadFileEx 与ReadFile相似,只是它只能用于异步读操作,并包含了一个完整的回调

RegCloseKey 关闭系统注册表中的一个项(或键)

RegConnectRegistry 访问远程系统的部分注册表

RegCreateKey 在指定的项下创建或打开一个项

RegCreateKeyEx 在指定项下创建新项的更复杂的方式。在Win32环境中建议使用这个函数

RegDeleteKey 删除现有项下方一个指定的子项

RegDeleteValue 删除指定项下方的一个值

RegEnumKey 枚举指定项的子项。在Win32环境中应使用RegEnumKeyEx

RegEnumKeyEx 枚举指定项下方的子项

RegEnumValue 枚举指定项的值

RegFlushKey 将对项和它的子项作出的改动实际写入磁盘

RegGetKeySecurity 获取与一个注册表项有关的安全信息

RegLoadKey 从以前用RegSaveKey函数创建的一个文件里装载注册表信息

RegNotifyChangeKeyValue 注册表项或它的任何一个子项发生变化时,用这个函数提供一种通知机制

RegOpenKey 打开一个现有的注册表项

RegOpenKeyEx 打开一个现有的项。在win32下推荐使用这个函数

RegQueryInfoKey 获取与一个项有关的信息

RegQueryValue 取得指定项或子项的默认(未命名)值

RegQueryValueEx 获取一个项的设置值

RegReplaceKey 用一个磁盘文件保存的信息替换注册表信息;并创建一个备份,在其中包含当前注册表信息

RegRestoreKey 从一个磁盘文件恢复注册表信息

RegSaveKey 将一个项以及它的所有子项都保存到一个磁盘文件

RegSetKeySecurity 设置指定项的安全特性

RegSetValue 设置指定项或子项的默认值

RegSetValueEx 设置指定项的值

RegUnLoadKey 卸载指定的项以及它的所有子项

RemoveDirectory 删除指定目录

SearchPath 查找指定文件

SetCurrentDirectory 设置当前目录

SetEndOfFile 针对一个打开的文件,将当前文件位置设为文件末尾

SetFileAttributes 设置文件属性

SetFilePointer 在一个文件中设置当前的读写位置

SetFileTime 设置文件的创建、访问及上次修改时间

SetHandleCount 这个函数不必在win32下使用;即使使用,也不会有任何效果

SetVolumeLabel 设置一个磁盘的卷标(Label)

SystemTimeToFileTime 根据一个FILETIME结构的内容,载入一个SYSTEMTIME结构

UnlockFile 解除对一个文件的锁定

UnlockFileEx 解除对一个文件的锁定

UnmapViewOfFile 在当前应用程序的内存地址空间解除对一个文件映射对象的映射

VerFindFile 用这个函数决定一个文件应安装到哪里

VerInstallFile 用这个函数安装一个文件

VerLanguageName 这个函数能根据16位语言代码获取一种语言的名称

VerQueryValue 这个函数用于从版本资源中获取信息

WriteFile 将数据写入一个文件

WriteFileEx 与WriteFile类似,只是它只能用于异步写操作,并包括了一个完整的回调

WritePrivateProfileSection 为一个初始化文件(.ini)中指定的小节设置所有项名和值

WritePrivateProfileString 在初始化文件指定小节内设置一个字串

WriteProfileSection 为Win.ini初始化文件中一个指定的小节设置所有项名和值

WriteProfileString 在Win.ini初始化文件指定小节内设置一个字串

4. API之打印函数

AbortDoc 取消一份文档的打印

AbortPrinter 删除与一台打印机关联在一起的缓冲文件

AddForm 为打印机的表单列表添加一个新表单

AddJob 用于获取一个有效的路径名,以便用它为作业创建一个后台打印文件。它也会为作业分配一个作业编号

AddMonitor 为系统添加一个打印机监视器

AddPort 启动“添加端口”对话框,允许用户在系统可用端口列表中加入一个新端口

AddPrinter 在系统中添加一台新打印机

AddPrinterConnection 连接指定的打印机

AddPrinterDriver 为指定的系统添加一个打印驱动程序

AddPrintProcessor 为指定的系统添加一个打印处理器

AddPrintProvidor 为系统添加一个打印供应商

AdvancedDocumentProperties 启动打印机文档设置对话框

ClosePrinter 关闭一个打开的打印机对象

ConfigurePort 针对指定的端口,启动一个端口配置对话框

ConnectToPrinterDlg 启动连接打印机对话框,用它同访问网络的打印机连接

DeleteForm 从打印机可用表单列表中删除一个表单

DeleteMonitor 删除指定的打印监视器

DeletePort 启动“删除端口”对话框,允许用户从当前系统删除一个端口

DeletePrinter 将指定的打印机标志为从系统中删除

DeletePrinterConnection 删除与指定打印机的连接

DeletePrinterDriver 从系统删除一个打印机驱动程序

DeletePrintProcessor 从指定系统删除一个打印处理器

DeletePrintProvidor 从系统中删除一个打印供应商

DeviceCapabilities 利用这个函数可获得与一个设备的能力有关的信息

DocumentProperties 打印机配置控制函数

EndDocAPI 结束一个成功的打印作业

EndDocPrinter 在后台打印程序的级别指定一个文档的结束

EndPage 用这个函数完成一个页面的打印,并准备设备场景,以便打印下一个页

EndPagePrinter 指定一个页在打印作业中的结尾

EnumForms 枚举一台打印机可用的表单

EnumJobs 枚举打印队列中的作业

EnumMonitors 枚举可用的打印监视器

EnumPorts 枚举一个系统可用的端口

EnumPrinterDrivers 枚举指定系统中已安装的打印机驱动程序

EnumPrinters 枚举系统中安装的打印机

EnumPrintProcessorDatatypes 枚举由一个打印处理器支持的数据类型

EnumPrintProcessors 枚举系统中可用的打印处理器

Escape 设备控制函数

FindClosePrinterChangeNotification 关闭用FindFirstPrinterChangeNotification函数获取的一个打印机通告对象

FindFirstPrinterChangeNotification 创建一个新的改变通告对象,以便我们注意打印机状态的各种变化

FindNextPrinterChangeNotification 用这个函数判断触发一次打印机改变通告信号的原因

FreePrinterNotifyInfo 释放由FindNextPrinterChangeNotification函数分配的一个缓冲区

GetForm 取得与指定表单有关的信息

GetJob 获取与指定作业有关的信息

GetPrinter 取得与指定打印机有关的信息

GetPrinterData 为打印机设置注册表配置信息

GetPrinterDriver 针对指定的打印机,获取与打印机驱动程序有关的信息

GetPrinterDriverDirectory 判断指定系统中包含了打印机驱动程序的目录是什么

GetPrintProcessorDirectory 判断指定系统中包含了打印机处理器驱动程序及文件的目录

OpenPrinter 打开指定的打印机,并获取打印机的句柄

PrinterMessageBox 在拥有指定打印作业的系统上显示一个打印机出错消息框

PrinterProperties 启动打印机属性对话框,以便对打印机进行配置

ReadPrinter 从打印机读入数据

ResetDC 重设一个设备场景

ResetPrinter 改变指定打印机的默认数据类型及文档设置

ScheduleJob 提交一个要打印的作业

SetAbortProc 为Windows指定取消函数的地址

SetForm 为指定的表单设置信息

SetJob 对一个打印作业的状态进行控制

SetPrinter 对一台打印机的状态进行控制

SetPrinterData 设置打印机的注册表配置信息

StartDoc 开始一个打印作业

StartDocPrinter 在后台打印的级别启动一个新文档

StartPage 打印一个新页前要先调用这个函数

StartPagePrinter 在打印作业中指定一个新页的开始

WritePrinter 将发送目录中的数据写入打印机

12306火车票api 需要去开通接口吗

登陆12306

点击右上角的注册

根据提示填写相关信息,提交,注册成功

进入12306,点击右上角的”车票预订“

填写出发地,目的地,出发日,点击查询

选择相应的车次,点击”预订“

选择乘车人,选择席别,提交

30分钟内支付票款,否则订单取消(支付宝、网银均可支付)

记得采纳答案

求个免费火车票,飞机票查询的api 就能查询票价车次航班就行

我目前用的最好的是“极品列车时刻表”有火车和飞机的,挺专业的,免费,定期更新,百度一下下载即可。

baidu地图的那个api提供火车路线查询服务,或是飞机路线查询服务?

公交导航功能是告诉使用者从A到B的公交出行方案,而不是某条具体的公交线路信息,这一点需要广大开发者注意。

公交导航功能通过类TransitRoute来实现,这里需要说说为啥不是BusRoute,而是TransitRoute。百度提供的是公共交通导航,公共交通不仅仅涉及bus,可能还会有地铁、渡轮甚至以后的飞机火车,所以这里使用的是public transit中的transit进行描述。

一个简单的例子

我们还是从一个简单的例子开始:

var transit = new BMap.TransitRoute('北京', { renderOptions: { map: map, panel: 'panel' }});transit.search('颐和园', '西单');

代码通过renderOptions设置渲染的地图实例和侧栏面板容器的id,其中map是已经实例化好的地图,panel为已经准备好的div元素的id。我们会看到如下结果:

地图上显示了一个方案,在面板中列出了所有方案的描述,点击不同的方案地图会予以展示。

除了使用字符串类型以外,还可以提供坐标进行查询,这样可以得到更精确的结果。比如从“麦当劳”到“肯德基”这样的路线查询就不会得到结果,因为API不知道是从哪个麦当劳到哪个肯德基。下面的示例使用了坐标进行搜索。

transit2.search(new BMap.Point(116.315157,39.987946), new BMap.Point(116.371499,39.880394));

下面是使用坐标作为参数进行查询得到的结果:

注意,由于提供的是坐标,所以起点和终点没有具体的地点描述。

自定义覆盖物展示

如果你不满意API提供的默认线路的颜色和标注的样式,你也可以选择通过通过数据接口自行创建。注意,自己创建覆盖物时,点击列表中的方案将不会更新地图区域,因为此时地图区域的元素都是由开发者自行创建的。在使用数据接口之前,先通过一个结构图来了解一个完整的公交方案的各个组成部分,以方便理解:

一个不需要换乘的公交方案是由:起点、起点到上车站的步行线路、上车站到下车站的公交线路以及下车站到终点的步行线路构成。当然有可能起点和上车站是重合的,或者终点和下车站是重合的,此时步行线路长度就为0(起点或终点本身就为公交站的时候)。如果有换乘,那么每次换乘中的下车站到上车站也有步行线路(如上图的第二个方案所示)。

所以不论公交方案具体是什么样,在数据上的表示都是一致的:

•直达方案:2条步行线路 + 1条公交线路

•换乘一次方案:3条步行线路 + 2条公交线路

•换乘两次方案:4条步行线路 + 3条公交线路

以此类推。

API中通过TransitRouteResult来描述公交导航结果,通过TransitRoutePlan来描述一条公交方案。那么怎么获取公交导航结果和具体的方案的信息呢?请看下面的示例:

var transit = new BMap.TransitRoute('北京', { onSearchComplete: function(result) { if (transit.getStatus() == BMAP_STATUS_SUCCESS) { // 从结果对象中获取起点和终点信息 var start = result.getStart(); var end = result.getEnd(); addStart(start.point, start.title); addEnd(end.point, end.title); // 直接获取第一个方案 var plan = result.getPlan(0); // 遍历所有步行线路 for (var i = 0; i plan.getNumRoutes(); i++) { if (plan.getRoute(i).getDistance(false) 0) { // 判断只有大于0的步行线路才会绘制 addWalkRoute(plan.getRoute(i).getPath()); } } // 遍历所有公交线路 var allLinePath = []; for (i = 0; i plan.getNumLines(); i++) { allLinePath = allLinePath.concat(plan.getLine(i).getPath()); addLine(plan.getLine(i).getPath()); } // 最后根据公交线路的点设置地图视野 map.setViewport(allLinePath); } }});transit.search('清华大学', '北京交通大学');// 添加起点覆盖物function addStart(point, title){ map.addOverlay(new BMap.Marker(point, { title: title, icon: new BMap.Icon('', new BMap.Size(38, 41), { anchor: new BMap.Size(4, 36) })}));}// 添加终点覆盖物function addEnd(point, title){ map.addOverlay(new BMap.Marker(point, { title: title, icon: new BMap.Icon('', new BMap.Size(38, 41), { anchor: new BMap.Size(4, 36) })}));}// 添加路线function addWalkRoute(path){ map.addOverlay(new BMap.Polyline(path, { strokeColor: 'black', strokeOpacity: 0.7, strokeWeight: 4, strokeStyle: 'dashed', enableClicking: false }));}function addLine(path){ map.addOverlay(new BMap.Polyline(path, { strokeColor: 'blue', strokeOpacity: 0.6, strokeWeight: 5, enableClicking: false }));}

在上面的代码中,通过TransitRouteOptions的onSearchComplete属性设置了回调函数,一旦检索完成这个回调函数就会被调用。在回调函数开始我们先判断检索是否成功,如果成功表示至少有一条公交方案返回,这里我们先通过结果对象获取起点和终点,接着直接获取第一条方案,遍历方案中所有步行线路和公交线路并绘制在地图上,最后我们根据公交线路的点来设置一个合适的地图视野。

你会在浏览器中得到如下效果:

在获取结果对象时,除了通过回调函数参数获取以外,还可以通过TransitRoute的getResults方法获得,需要注意的是,由于搜索过程是异步的,以下代码的写法将不会得到结果:

transit.search('西单', '颐和园');var res = transit.getResults(); // undefined

因为search方法调用结束后搜索结果并没有立即返回。开发者可以在回调函数中调用此方法立即获得结果,也可以等回调函数执行完若干时间后再想获取结果数据时调用。

自定义方案描述

通过TransitRoutePlan的getDescription可以获得完整的方案描述,但是如果开发者想自行定义描述的形式则可通过数据接口进行。例如:

var transit = new BMap.TransitRoute('北京', { onSearchComplete: function(result) { if (transit.getStatus() == BMAP_STATUS_SUCCESS) { // 从结果对象中获取起点和终点信息 var start = result.getStart().title; var end = result.getEnd().title; // 直接获取第一个方案 var plan = result.getPlan(0); // 获取步行线路与公交线路个数总和,用于遍历 var total = plan.getNumRoutes() + plan.getNumLines(); var description = ['从' + start]; var addEndTitle = true; for (var i = 0; i total; i++) { if (i % 2 == 0) { // i为偶数 // 处理第一个步行描述逻辑 if (i / 2 == 0) { if (plan.getRoute(i / 2).getDistance(false) == 0) { description = ['从']; } } // 处理最后一个步行描述逻辑 if (i / 2 == plan.getNumRoutes() - 1) { if (plan.getRoute(i / 2).getDistance(false) == 0) { addEndTitle = false; } } if (plan.getRoute(i / 2).getDistance(false) 0) { description.push('步行约' + plan.getRoute(i / 2).getDistance(true) + '至'); } } else { // i为奇数 var line = plan.getLine((i - 1) / 2); description.push(line.getGetOnStop().title + ', '); description.push('乘坐' + line.title + ', '); description.push('经过' + line.getNumViaStops() + '站'); description.push('在' + line.getGetOffStop().title + '站下车,'); } } if (addEndTitle) { description.push(end + '。'); } // 替换可能出现的末尾位置的逗号 var descriptionStr = description.join('').replace(/\uff0c$/, '。'); } }});transit.search('清华大学', '北京交通大学');

变量descriptionStr的内容为:“从清华大学步行约830米至五道口, 乘坐地铁13号线(东直门-西直门), 经过3站在西直门站下车,步行约310米至城铁西直门站, 乘坐运通105(上地环岛东-中苑宾馆), 经过2站在北京交通大学站下车。”

回调函数详解

前面的几个例子我们使用了onSearchComplete回调函数,在API中还提供了如下几个回调函数,它们的含义和触发时机如下:

•onMarkersSet:如果设置了渲染的地图,则API自动添加标注后会触发此函数。

•onPolylinesSet:如果设置了渲染的地图,则API自动添加线路覆盖物后会触发此函数。

•onInfoHtmlSet:如果设置了渲染地图,当用户点击标注弹出信息窗口时会触发此函数。

•onResultsHtmlSet:如果设置了渲染侧栏,则API填充完HTML后会触发此函数。

·火车头伪原创插件api接口代码怎么用

伪原创插件api目前用过就小发猫AI+的靠谱,一个基于人工智能的伪原创软件,生成的内容原创度比较高,而且有使用教程

1、修改火车头的PHP环境

由于火车头采集器软件内置的PHP环境有问题,在使用PHP插件之前需要先修改火车头的PHP环境。修改的方法很简单,打开火车头网站采集软件的安装目录“System/PHP”,找到php.ini文件打开,并找到如下代码。

找到 php_curl.dll 把前面的分号去掉改成:

修改前:

;extension=php_curl.dll

修改后:

extension=php_curl.dll

也就是将最前面的分号“;”删除并保存即可,这样火车头数据采集器就可以正常运行这个PHP仿写插件了。

2、插件要统一放到火车头插件目录

例如我本机是:D:\火车采集器V9\Plugins

问:这个插件主要功能是什么?

回答:火车头是一个采集器。采集后,如果开了插件,会把采集到的内容通过插件处理后再保存,我们的插件是伪原创,所以采集的内容会伪原创后保存。

3、调试方法

首先按原来的方式,先确保采集规则能正常运行。

然后,在正常运行的基础上,选择伪原创插件。

短信接口是否助通是什么意思?

需要具备无线路由器,设置方法: 1、将接入网线插到无线路由器的WAN口上,再从无线路由器的LAN接条网线到电脑上(如果是笔记本或手机设置,只需通过无线信号连接上可直接安装); 2、打开浏览器,输入路由器的登陆地址,回车,进入登陆提示,输入路由器的管理用户名和密码(无线路由器登陆地址和管理用户名、密码在无线路由器后面标签上有注明); 3、进入路由器设置界面后,设置向导,下一步,选择PPPOE拨号方式,下一步,输入上网账号和密码,下一步; 4、SSID框里设置无线网络名称,PSK框里输入最少8位数的无线网络密码,下一步; 5、保存,根据提示重启无线路由器,即可完成无线路由器的安装。

火车查询API的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于火车查询实时行程、火车查询API的信息别忘了在迈希泽CE认证机构进行查找喔。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:京东物流查询API(京东物流查询系统)
下一篇:顺丰速运查询API(顺丰速运查询系统)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~