分页: 11/74 第一页 上页 6 7 8 9 10 11 12 13 14 15 下页 最后页 [ 显示模式: 摘要 | 列表 ]
引用
ProxyPassMatch Directive
Description: Maps remote servers into the local server URL-space using regular expressions
Syntax: ProxyPassMatch [regex] !|url [key=value [key=value ...]]
Context: server config, virtual host, directory
Status: Extension
Module: mod_proxy
Compatibility: available in Apache 2.2.5 and later


比如,把asp的请求放到8080端口的服务器

<VirtualHost *:80>
    ServerAdmin webmaster@aslibra.com
    DocumentRoot "E:/webapps/www.aslibra.com"
    ServerName www.aslibra.com
    ErrorLog "logs/test.localhost-error.log"
    CustomLog "logs/test.localhost-access.log" common

    ProxyRequests Off
    <Proxy *>
  Order deny,allow
  Allow from all
    </Proxy>
    ProxyPassMatch .*\.asp http://127.0.0.1:8080/
    ProxyPassReverse / http://127.0.0.1:8080/
</VirtualHost>


这个会对给proxy带来很大的灵活性,参考官方介绍:
http://httpd.apache.org/docs/current/mod/mod_proxy.html
Tags: ,
前面有说明android获取程序信息,这些信息是基本信息,我想提取android:minSdkVersion的值,可还没有发现用程序可以提取出来。

有一个比较笨的方式是解压apk文件,分析apk文件里的xml。

首先apk文件其实是zip文件,改名即可按zip文件解压,而xml文件是二进制的,倒是需要另外的软件解决。
如果需要提取,不需要再重新打包,可以改名直接解压,否则可以试试apktool来解压和打包,不重复说明。

浏览二进制的xml文件,可以用 AXMLPrinter2 解决,在 android4me 的工程里面可以下载到。
AXMLPrinter2.jar  Prints XML document from binary XML file (with correct namespace handing & attribute formatting).  

下面演示一下解析过程:

root@aslibra:/tmp/apk# ls
c.apk
root@aslibra:/tmp/apk# mv c.apk c.zip
root@aslibra:/tmp/apk# unzip c
Archive:  c.zip
...
  inflating: res/layout/main.xml    
...
  inflating: AndroidManifest.xml    
extracting: resources.arsc          
...
root@aslibra:/tmp/apk# java -jar /path/to/AXMLPrinter2.jar AndroidManifest.xml |grep minSdkVersion
                android:minSdkVersion="2"
Tags: , ,
简单笔记一下,运行出错:

root@aslibra:~# ./axml2xml.pl
Can't locate Unicode/String.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at ./axml2xml.pl line 24.
BEGIN failed--compilation aborted at ./axml2xml.pl line 24.


下载安装即可:

root@aslibra:/Data/tgz# wget http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/Unicode-String-2.09.tar.gz
root@aslibra:/Data/tgz# tar xfz Unicode-String-2.09.tar.gz
root@aslibra:/Data/tgz# cd Unicode-String-2.09
root@aslibra:/Data/tgz/Unicode-String-2.09# perl Makefile.PL
root@aslibra:/Data/tgz/Unicode-String-2.09# make
cp String.pm blib/lib/Unicode/String.pm
cp lib/Unicode/CharName.pm blib/lib/Unicode/CharName.pm
......
Manifying blib/man3/Unicode::String.3pm
Manifying blib/man3/Unicode::CharName.3pm
root@aslibra:/Data/tgz/Unicode-String-2.09# make install
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Installing /usr/local/lib/perl/5.10.0/auto/Unicode/String/String.bs
Installing /usr/local/lib/perl/5.10.0/auto/Unicode/String/String.so
Installing /usr/local/lib/perl/5.10.0/Unicode/String.pm
Installing /usr/local/lib/perl/5.10.0/Unicode/CharName.pm
Installing /usr/local/man/man3/Unicode::CharName.3pm
Installing /usr/local/man/man3/Unicode::String.3pm
Writing /usr/local/lib/perl/5.10.0/auto/Unicode/String/.packlist
Appending installation info to /usr/local/lib/perl/5.10.0/perllocal.pod


文件下载:Gisle Aas > Unicode-String > Unicode::String
Tags: ,
前面有GET方式的笔记:Android下处理xml数据,POST的方式可能有点不一样:

URL url = new URL( SERVER_URL );
HttpURLConnection conn;
conn = (HttpURLConnection) url.openConnection();
//这个要打开
conn.setDoOutput(true);
conn.setDoInput(true);

//处理POST的数据
conn.setRequestMethod("POST");
String username="action=mylist&myUid=Something";
conn.getOutputStream().write(username.getBytes());
conn.getOutputStream().flush();
conn.getOutputStream().close();

InputStream is = conn.getInputStream();

//下同...


参考:使用HttpURLConnection进行POST方式提交,还可以设置请求的头信息
这里也有POST的方法:android文件上传到服务器
Tags:
android获取手机的imei信息:

TelephonyManager telephonyManager=(TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);
String imei=telephonyManager.getDeviceId();

//获得手机号
telephonyManager.getLine1Number();


这个操作需要权限说明:

<uses-permission android:name="android.permission.READ_PHONE_STATE" />


另外,要获得手机的型号和系统版本,可以这样:

//机器型号 HTC Magic
Build.MODEL
//SDK版本 8
Build.VERSION.SDK
//SDK版本号 2.2
Build.VERSION.RELEASE
Tags:
获取已安装的程序的信息(名称、包名、图标等)

class PInfo {
    private String appname = "";
    private String pname = "";
    private String versionName = "";
    private int versionCode = 0;
    private Drawable icon;
    private void prettyPrint() {
        log(appname + "\t" + pname + "\t" + versionName + "\t" + versionCode + "\t");
    }
}

private void listPackages() {
    ArrayList<PInfo> apps = getInstalledApps(false); /* false = no system packages */
    final int max = apps.size();
    for (int i=0; i<max; i++) {
        apps.get(i).prettyPrint();
    }
}

private ArrayList<PInfo> getInstalledApps(boolean getSysPackages) {
    ArrayList<PInfo> res = new ArrayList<PInfo>();        
    List<PackageInfo> packs = getPackageManager().getInstalledPackages(0);
    for(int i=0;i<packs.size();i++) {
        PackageInfo p = packs.get(i);
        if ((!getSysPackages) && (p.versionName == null)) {
            continue ;
        }
        PInfo newInfo = new PInfo();
        newInfo.appname = p.applicationInfo.loadLabel(getPackageManager()).toString();
        newInfo.pname = p.packageName;
        newInfo.versionName = p.versionName;
        newInfo.versionCode = p.versionCode;
        newInfo.icon = p.applicationInfo.loadIcon(getPackageManager());
        res.add(newInfo);
    }
    return res;
}


获取未安装的APK文件的信息
Tags: ,
简单的小问题,如果列出了所有安装的程序,怎么样打开该程序呢?

要调用该程序,有两个必要因素:packageName, className
比如打开计算器程序:

Intent i = new Intent();
i.setClassName("com.android.calculator2", "com.android.calculator2.Calculator");
startActivity(i);


前面是packageName,后面是className,我们尝试取出此两个值即可。

List<PackageInfo> packs = getPackageManager().getInstalledPackages(PackageManager.GET_ACTIVITIES);
for(int i=0;i<packs.size();i++) {
  PackageInfo p = packs.get(i);
  //p.packageName;
  //p.activities[0].name; //(className)
}
Tags: ,
分页: 11/74 第一页 上页 6 7 8 9 10 11 12 13 14 15 下页 最后页 [ 显示模式: 摘要 | 列表 ]

阅读推荐

服务器相关推荐

开发相关推荐

应用软件推荐