在本文中,我们将带你了解DedeCMSWap.php绑定域名的解决方案在这篇文章中,我们将为您详细介绍DedeCMSWap.php绑定域名的解决方案的方方面面,并解答绑定域名成功常见的疑惑,同时我们还
在本文中,我们将带你了解DedeCMS Wap.php 绑定域名的解决方案在这篇文章中,我们将为您详细介绍DedeCMS Wap.php 绑定域名的解决方案的方方面面,并解答绑定域名成功常见的疑惑,同时我们还将给您一些技巧,以帮助您实现更有效的Android 开发 3g、wap、net 的区别、DEDECMS JSON数据生成 DEDECMS JSON接口制作、dedecms wap 上一篇 下一篇 链接出错、DedeCMS Wap.php 绑定域名的解决办法。
本文目录一览:- DedeCMS Wap.php 绑定域名的解决方案(绑定域名成功)
- Android 开发 3g、wap、net 的区别
- DEDECMS JSON数据生成 DEDECMS JSON接口制作
- dedecms wap 上一篇 下一篇 链接出错
- DedeCMS Wap.php 绑定域名的解决办法
DedeCMS Wap.php 绑定域名的解决方案(绑定域名成功)
对于 wap.php 独立绑定域名本人在网上搜索到了几个比较新手的解决方案希望对这方面要用的人有所帮助。这是个基于通过URL转发的代码实现的。
首先你要把独立的域名先建一个目录绑定起来比如 3G.LieHuo.Net
index.asp:
以下为引用的内容: <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <%response.buffer=true%> <%Response.ContentType = "text/vnd.wap.wml; charset=utf-8"%> <?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" ""> <wml> <card id="loop" ontimer=""> <timer value="10"/> 湄洲在线<br/>mozoo.net<br/> </card> </wml>
第二种:index.wml
这个你要在IIS中设置 index.wml 访问为首选才可以直接访问 LIEHUO.NET 要不然你只能 这样等于白搞。
以下为引用的内容: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" ""> <wml> <card id="card1" title="ALL"> <onevent type="onenterforward"><go href=http://www.dede58.com/a/dedejq/"http:/www.mozoo.net/wap.php"/></onevent > <p> </p> </card> </wml>第三种:index.xml
以下为引用的内容: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" ""> <wml> <card id="mainCard" title="3q.mozoo.net" ontimer=""> <timer value="1"/> <p> </p> </card> </wml>本文章网址:http://www.ppssdd.com/code/6065.html。转载请保留出处,谢谢合作!
Android 开发 3g、wap、net 的区别
1. 通过 CMNET 可以获得完全的 Internet 访问权,可以访问 pop 和 imap 等众多互联网服务;
2. 通过 CMWAP 只能访问网页,无法访问 pop 和 imap 等众多互联网服务。
(1) 为什么会有两个接入点?
在国际上,通常只有一种 GPRS 接入方式,为什么在中国会有 CMWAP 和 CMNET 两兄弟呢?(彩信之所以单独配置接入点是因为彩信服务需要连接专用的服务器,在这里不作探讨。)
其实,CMWAP 和 CMNET 只是中国移动人为划分的两个 GPRS 接入方式。前者是为手机 WAP 上网而设立的,后者则主要是为 PC、笔记本电脑、PDA 等利用 GPRS 上网服务。它们在实现方式上并没有任何差别,但因为定位不同,所以和 CMNET 相比,CMWAP 便有了部分限制,资费上也存在差别。
(2) 什么是 WAP?
WAP 只是一种 GPRS 应用模式,它与 GRPS 的接入方式是无关的。WAP 应用采用的实现方式是 “终端+WAP 网关+WAP 服务器” 的模式,不同于一般 Internet 的 “终端+服务器” 的工作模式。主要的目的是通过 WAP 网关完成 WAP-WEB 的协议转换以达到节省网络流量和兼容现有 WEB 应用的目的。
WAP 网关从技术的角度讲,只是一个提供代理服务的主机,它不一定由网络运营商提供。但据我所知,中国移动 GPRS 网络目前只有唯一的一个 WAP 网关:10.0.0.172,有中国移动提供,用于 WAP 浏览(HTTP)服务。有一点需要注意,WAP 网关和一般意义上的局域网网关是有差别的,标准的 WAP 网关仅仅实现了 HTTP 代理的功能,并未完成路由、NAT 等局域网网关的功能。这就决定了它在应用上所受到的限制。
为应用程序增加 Http 协议代理
- try {
- String proxyHost = android.net.Proxy.getDefaultHost();
- if (proxyHost != null) {// 如果是 wap 方式,要加网关
- java.net.Proxy p = new java.net.Proxy(java.net.Proxy.Type.HTTP, new InetSocketAddress(
- android.net.Proxy.getDefaultHost(), android.net.Proxy.getDefaultPort()));
- conn = (HttpURLConnection) new URL(url).openConnection(p);
- } else {
- conn = (HttpURLConnection) new URL(url).openConnection();
- }
(3)无论是移动、联通还是电信,都至少提供了两种类型的的 APN:WAP 方式和 NET 方式。其中 NET 方式跟 WIFI 方式一样,无需任何设置,可自由访问所有类型网站,而 WAP 方式,需要手机先设置代理服务器和端口号等信息,并且只能访问 HTTP 协议类型的网站
移动和联通的 WAP 代理服务器都是 10.0.0.172,端口号是 80;而电信的 WAP 代理服务器是 10.0.0.200,端口号是 80。
Android 系统中,对于 APN 网络的 API 是隐藏的,因此获取手机的 APN 设置,需要通过 ContentProvider 来进行数据库查询,查询的 URI 地址是:
取得全部的 APN 列表:content://telephony/carriers;
取得当前设置的 APN:content://telephony/carriers/preferapn;
取得 current=1 的 APN:content://telephony/carriers/current;
由于需要设置 Proxy 的情况为使用运营商网络,所以代码一开始即使用通过 Context 获得 ConnectivityManager,执行 ConnectivityManager.getActiveNetworkInfo () 获取当前可用的网络。在有可用网络的情况下,判断其类型,如果 networkInfo.getType () 返回值为 ConnectivityManager.TYPE_MOBILE,则需要设置 Proxy;在返回值为 ConnectivityManager.TYPE_WIFI 的情况下则跳过设置 Proxy 的步骤。对 HttpURLConnection 设置 Proxy 需要指定代理 IP 及端口号,android.net.Proxy 解决了这个问题。执行 Proxy.getDefaultHost () 和 Proxy.getDefaultPort () 将返回代理主机的 IP 及开放端口号,并以这两个信息传参构造 InetSocketAddress。InetSocketAddress 为 IP 套接地址,其主要形式可由 IP 地址与端口号组合而成,亦可用主机域名加端口号组合而成,这种情况下将尝试将主机域名解析为 IP 地址。
移动网络的判断:
- / 注意二:
- // 判断是否电信 wap:
- // 不要通过 getExtraInfo 获取接入点名称来判断类型,
- // 因为通过目前电信多种机型测试发现接入点名称大都为 #777 或者 null,
- // 电信机器 wap 接入点中要比移动联通 wap 接入点多设置一个用户名和密码,
- // 所以可以通过这个进行判断!
- final Cursor c = mContext.getContentResolver().query(
- PREFERRED_APN_URI, null, null, null, null);
- if (c != null) {
- c.moveToFirst();
- final String user = c.getString(c
- .getColumnIndex("user"));
- if (!TextUtils.isEmpty(user)) {
- Log.i("",
- "=====================> 代理:"
- + c.getString(c
- .getColumnIndex("proxy")));
- if (user.startsWith(CTWAP)) {
- Log.i("", "=====================> 电信 wap 网络");
- return TYPE_CT_WAP;
- }
- }
- }
- c.close();
- // 注意三:
- // 判断是移动联通 wap:
- // 其实还有一种方法通过 getString (c.getColumnIndex ("proxy") 获取代理 ip
- // 来判断接入点,10.0.0.172 就是移动联通 wap,10.0.0.200 就是电信 wap,但在
- // 实际开发中并不是所有机器都能获取到接入点代理信息,例如魅族 M9 (2.2)等...
- // 所以采用 getExtraInfo 获取接入点名字进行判断
- String netMode = mobNetInfoActivity.getExtraInfo();
- Log.i("", "netMode ================== " + netMode);
- if (netMode != null) {
- // 通过 apn 名称判断是否是联通和移动 wap
- netMode=netMode.toLowerCase();
- if (netMode.equals(CMWAP) || netMode.equals(WAP_3G)
- || netMode.equals(UNIWAP)) {
- Log.i("", "=====================> 移动联通 wap 网络");
- return TYPE_CM_CU_WAP;
- }
- }
- }
参考:http://blog.csdn.net/shichaosong/article/details/8722823
http://www.jizhuomi.com/android/example/32.html
http://www.linuxidc.com/Linux/2012-08/67980.htm
DEDECMS JSON数据生成 DEDECMS JSON接口制作
json数据格式可以方便不同站点之间进行数据调用引用,当然我们的DEDECMS也可以实现全站数据生成JSON供其他站点调用,代码很简单,主要用到include/json.class.php。
织梦本身是自带json标签的,调用办法:
{dede:json url='' cache=300}
[field:id/]-[field:title/]<br/>
{/dede:json}
这个标签调用例子在织梦手册里已经给我们提供了,url是一个远程json接口地址,这个接口文件json.php代码 里面,*后的返回必须是把数据通过json_encode($feeds)系统函数,进行json编码后,通过echo或print()函数来打印出来,这二点是必须的,然后,在前台我们就可以通过$.ajax()或$.getjson()来获取数据。织梦系统给我们提供了一个json类,在include/json.class.php文件里面,也就是是说,我们在对php文件转换json编码,就有了二种办法:
1.直接用php系统给我们提供的系统函数,json_encode(),我建立大家用这个,即简单又省事,既然,php系统给我们提供了,我们可以不用织梦系统提供的。
2.就是用织梦系统提供的,encode(),在使用前,首先引入json.class.php,即:
require_once(DEDEINC.'/json.class.php');
$json = new Services_JSON(SERVICES_JSON_SUPPRESS_ERRORS);
echo $json->encode($reval);
$reval这个变量是我们从数据库或其它地方得到的,一般是一个二维数组,例如下:
Array (
[0] => Array ( [id] => 95 [title] => 原图设计)
[1] => Array ( [id] => 113 [title] => ssssssssssss)
[2] => Array ( [id] => 111 [title] => hjhj )
[3] => Array ( [id] => 110 [title] => ssssssssssss)
)
经echo 以后,显示的内容如下所示。
[
{"id":"95","title":"\u539f\u521b"},
{"id":"113","title":"ssssssssssss"},
{"id":"111","title":"hjhj"},
{"id":"110","title":"ssssssssssss"}
]
这是经过encode()或用json_encode()后,显示的内容。即,用中括号括起来的,几个json数据,这个数据回给请求的$.ajax()或$.getjson(),并由其对这个数据进行处理,显示我们相要的结果。
知道了原理,接下来就是详细实现办法,如下:
首先新建一个PHP文件,命名为json.php(也可以新建个文件夹命名为api,然后PHP命名为index.php,这样调用的时候就只需要你的域名/api这样的方式调用),用于作为被调用的API接口,代码如下:
<?php
$cfg_NotPrintHead = false;
header("Content-Type: text/html; charset=utf-8");
include_once (dirname(__FILE__)."/../include/common.inc.php");
error_reporting(E_ALL || ~E_NOTICE);
require_once(DEDEINC.'/json.class.php');
$reval = array();
$dsql->SetQuery("SELECT id,title FROM `dede_archives` ORDER BY id DESC LIMIT 0,10");
$dsql->Execute('me');
while ($row = $dsql->GetArray('me')) {
$row['title'] = gb2utf8($row['title']);
$reval[] = $row;
}
$json = new Services_JSON(SERVICES_JSON_SUPPRESS_ERRORS);
echo $json->encode($reval);
?>
这里代码有进行了GBK转UTF8的操作,所以兼容GBK版的DEDECMS
调用办法:
{dede:json url='域名/json.php' cache=300}
[field:id/]-[field:title/]<br/>
{/dede:json}
把调用代码放到你你需要的地方就行
本文章网址:http://www.ppssdd.com/code/10237.html。转载请保留出处,谢谢合作!dedecms wap 上一篇 下一篇 链接出错
打开 \include\arc.archives.class.php 文件
大约在839 行,查找 $mlink = ''view.php?aid=''.$preRow[''id'']; 修改为 $mlink = ''view.php?aid=''.$nextRow[''id''];
if(is_array($nextRow))
{
if ( defined(''DEDEMOB'') )
{
$mlink = ''view.php?aid=''.$preRow[''id'']; 修改为 $mlink = ''view.php?aid=''.$nextRow[''id''];
} else {
$mlink = GetFileUrl($nextRow[''id''],$nextRow[''typeid''],$nextRow[''senddate''],$nextRow[''title''],$nextRow[''ismake''],$nextRow[''arcrank''],
$nextRow[''namerule''],$nextRow[''typedir''],$nextRow[''money''],$nextRow[''filename''],$nextRow[''moresite''],$nextRow[''siteurl''],$nextRow[''sitepath'']);
}
$this->PreNext[''next''] = "下一篇:<a href=''$mlink''>{$nextRow[''title'']}</a> ";
$this->PreNext[''nextimg''] = "<a href=''$mlink''><img src=\"{$nextRow[''litpic'']}\" alt=\"{$nextRow[''title'']}\"/></a> ";
}
else
{
$this->PreNext[''next''] = "下一篇:没有了 ";
$this->PreNext[''nextimg''] ="<a href=''javascript:void(0)'' alt=\"\"><img src=\"/templets/default/images/nophoto.jpg\" alt=\"对不起,没有下一图集了!\"/></a>";
}
}
DedeCMS Wap.php 绑定域名的解决办法
对于 wap.PHP 独立绑定域名本人在网上搜索到了几个比较菜鸟的解决办法希望对这方面要用的人有所帮助。这是个基于通过URL转发的代码实现的。
首先你要把独立的域名先建一个目录绑定起来比如 3G.LieHuo.Net
index.asp:
以下为引用的内容: <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <%response.buffer=true%> <%response.ContentType = "text/vnd.wap.wml; charset=utf-8"%> PHP"> |
第二种:index.wml
这个你要在IIS中设置 index.wml 访问为首选才可以直接访问 http://3G. LIEHUO.NET 要不然你只能http://3G.LIEHUO.NET/index.wml 这样等于白搞。
以下为引用的内容: PHP"/> |
第三种:index.xml
以下为引用的内容: PHP"> |
关于DedeCMS Wap.php 绑定域名的解决方案和绑定域名成功的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于Android 开发 3g、wap、net 的区别、DEDECMS JSON数据生成 DEDECMS JSON接口制作、dedecms wap 上一篇 下一篇 链接出错、DedeCMS Wap.php 绑定域名的解决办法的相关信息,请在本站寻找。
本文标签: