ラベル HTTP の投稿を表示しています。 すべての投稿を表示
ラベル HTTP の投稿を表示しています。 すべての投稿を表示

2019/02/11

http options

投石问路

   サーバーがサポートするリクエストメソッドを調べるには、curlを使用してOPTIONS要求を発行します。
curl -X OPTIONS http://example.org -i
レスポンスには、許可されたメソッドを持つ Allow ヘッダが含まれています:
HTTP/1.1 200 OK
Allow: OPTIONS, GET, HEAD, POST
Cache-Control: max-age=604800
Date: Thu, 13 Oct 2016 11:45:00 GMT
Expires: Thu, 20 Oct 2016 11:45:00 GMT
Server: EOS (lax004/2813)
x-ec-custom-error: 1
Content-Length: 0

2016/01/21

HttpResponse Stream


あまり情報がないので、
 
★The respone entity is always not null and is stream,so the 
  releaseConnection method cant be invoked always.
  
  
   final HttpEntity entity = response.getEntity(); 
  if (entity == null || !entity.isStreaming()) { 
 
★ 

  1. Using EntityUtils and HttpEntity
    HttpResponse response = httpClient.execute(new HttpGet(URL));
    HttpEntity entity = response.getEntity();
    String responseString = EntityUtils.toString(entity, "UTF-8");
    System.out.println(responseString);
  2. Using BasicResponseHandler
    HttpResponse response = httpClient.execute(new HttpGet(URL));
    String responseString = new BasicResponseHandler().handleResponse(response);
    System.out.println(responseString);
     
     
    基本なことね、恥ずかしい、全てのresponeはStreamみたいなので
    、また調べる 

2015/06/24

Charles ios

CharlesのFAQにある通り、iPhoneにSSL証明ををインストールする必要があります。iPhoneのSafariから http://charlesproxy.com/charles.crt にアクセスし、SSL証明書をインストールしてください。

2015/04/25

Http Boundary

コンテントタイプに以下を指定します。
Content-Type: multipart/form-data; boundary=「バウンダリ文字列」\r\n
バウンダリ文字列とは、複数の情報を続けて送る際の情報同士の「仕切線」の役目を果たします。この文字を調べて「仕切線」と判断するため、情報そのものにバウンダリ文字列が入っていてはいけません。
FireFoxで転送してみた内容を見てみると「---------------------------102852708831426」というように「-」27文字と数字15文字で構成されており、ランダムの数字が付いていました。
\r\nは改行文字を示します。

 IOSは
Boundary+5BA6C7D5E1A37EBE
Boundary+5BA6C7D5E1A37EBE
Boundary+5A402217BB55E461
Boundary+0A6551C579D31296
風、、、

headers.add(new BasicHeader("Content-type", multipart/form-data; boundary=Boundary+0A6551C579D31296
));
MultipartEntityBuilder.setBoundary("");

MultipartEntityBuilder and Charset

日本語化けになっている。。
 
 
entity.addTextBody("plain_text", plain_text);
will use the default ContentType.TEXT_PLAIN which look like this...
public static final ContentType TEXT_PLAIN = ContentType.create("text/plain", Consts.ISO_8859_1);

while ContentType.APPLICATION_JSON is using UTF-8 as below
public static final ContentType APPLICATION_JSON = ContentType.create("application/json", Consts.UTF_8);

So what i did was create our own ContentType like this..
entity.addTextBody("plain_text", plain_text, ContentType.create("text/plain", MIME.UTF8_CHARSET));

2015/04/19

MIME Content-Type 表

MIME Content-Type 表

テキスト/ドキュメント

説明 拡張子 MIME Content-Type
HTML(Hyper Text Markup Language) html, htm text/html
LaTeX tex, latex, ltx application/x-latex
PDF(Portable Document Format) pdf application/pdf
Postscript ps application/postscript
Rich Text Format rtf application/rtf
SGML(Standard Generalized Markup Language) sgm, sgml text/sgml
TSV/タブ区切り形式 tab, tsv text/tab-separated-values
TeX tex application/x-tex
Text ファイル txt text/plain
XML(eXtended Markup Language) xml text/xml

圧縮

説明 拡張子 MIME Content-Type
JAR(Java Archiver) jar application/java-archiver
Compact Pro cpt application/mac-compactpro
GZIP(GNU ZIP) gz application/gzip
application/x-gzip
BinHex(テキストエンコード;Macintosh) hqx application/mac-binhex40
shar(Shell Archiver) sh, shar application/x-sh
application/x-shar
sit(StuffIt) sit application/x-stuffit
tar(Tape Archiver) tar application/x-tar
Compress z application/x-compress
ZIP(Zigzag In line Package) zip application/zip
application/x-zip-compressed

イメージ

説明 拡張子 MIME Content-Type
Illustrator ai application/postscript
BMP/Windows Bitmap bmp, rle, dib image/x-bmp
image/x-ms-bmp
CGM(Computer Graphics Metafile) cgm image/cgm
AutoCAD DWF(Drawing Web Format) dwf drawing/x-dwf
EPS(Encapsulated Postscript Format) epsf, eps, ps appilcation/postscript
FIF(Fractal Image Format) fif image/fif
FlashPix fpx image/fpx
image/x-fpx
GIF(Graphics Interchange Format) gif image/gif
JPEG(Joint Photographics Experts Group) jpg, jpeg, jpe, jfif, jfi image/jpeg
Kodak PhotoCD pcd image/pcd
image/x-photo-cd
PICT(QuickDraw Picture) pict, pct image/pict
PNG(Portable Network Graphics) png image/x-png
image/png
TGA(Targa)、VDA(Video Display Adapter) tga, tpic, vda, vst image/x-targa
TIFF(Tag Image File Format) tiff, tif image/tiff
image/x-tiff
VRML wrl model/vrml
x-world/x-vrml
xbm(X Bitmap format) xbm image/x-bitmap
xpm(X Pixmap) xpm image/x-xpixmap



サウンド

説明 拡張子 MIME Content-Type
AIFF(Audio Interchange File Format) aiff, aif audio/aiff
audio/x-aiff
au(Audio File) au audio/basic
MIDI カラオケ kar audio/midi
audio/x-midi
MPEG 1 Audio Stream m1a audio/mpeg
audio/x-mpeg
MPEG 2 Audio Stream m2a audio/mpeg
audio/x-mpeg
MIDI midi, mid, smf audio/midi
audio/x-midi
MPEG 1 Layer 2 Audio Stream mp2 audio/mpeg
audio/x-mpeg
MPEG 1 Layer 3 Audio Stream mp3 audio/mpeg
audio/x-mpeg
MPEG Audio Stream mpa, mpega audio/mpeg
audio/x-mpeg
Real Audio rpm audio/x-pn-realaudio-plugin
Next SND snd audio/basic
Shockwave Audio swa application/x-director
Twin VQ vqf audio/x-twinvq
WAVE wav audio/wav
audio/x-wav

動画

説明 拡張子 MIME Content-Type
Shockwave for Authorware aab application/x-authorware-bin
Shockwave for Authorware aam application/x-authorware-map
Shockwave for Authorware aas application/x-authorware-seg
Advanced Streaming Format asf video/x-ms-asf
AVI avi vide/x-msvideo
Shockwave for Director dcr, dir, dxr application/x-director
Autodesk Animator flc, fli video/flc
MNG(Multiple Network Graphics) mng video/mng
video/x-mng
MPEG 1 System Stream m1s vide/mpeg
video/x-mpeg
MPEG 1 Video Stream m1v vide/mpeg
video/x-mpeg
MPEG 2 System Stream m2s vide/mpeg
video/x-mpeg
MPEG 2 Video Stream m2v vide/mpeg
video/x-mpeg
Apple QuickTime Movie moov, mov, qt video/quicktime
MPEG Video/Audio/System mpeg, mpg, mpe, mpv vide/mpeg
video/x-mpeg
Power Point ppt application/mspowerpoint
application/ppt
RealMedia rm audio/x-pn-realaudio
Flash 1 & Future Splash Animator spl application/futuresplash
Flash 2 swf application/x-shockwave-flash
VDOLive vdo video/vdo
VivoActive viv, vivo video/vnd.vivo
StreamWorks xdm, xdma application/x-xdma

その他

説明 拡張子 MIME Content-Type
Channel Definition format cdf application/x-netcdf
Java クラスファイル class application/octet-stream
Windows 実行ファイル exe application/exe
application/octet-stream
Perl スクリプト pl application/x-perl
RealAudio Meta File ram audio/x-pn-realaudio
Active X Document vdb application/activexdocument
TwinVQ vqe, vql audio/x-twinvq-plugin
audio/x-twinvq

2015/04/07

htmlClient EntityUtils.consume?? why

try {

    //... some code

    HttpEntity httpEntity = httpResponse.getEntity();
    BufferedReader br = new BufferedReader(new InputStreamReader(http.Entity.getContent()));
    String line;
    while ((line = br.readLine())!= null) {
        System.out.println(line);
    }
    EntityUtils.consume(httpEntity);
} catch (Exception e) {
    //code
} finally { 
    httpClient.getConnectionManager().shutdown();
}
 
 What EntityUtils.consume will do is release all resources held by the httpEntity,
 which essentially implies releasing any underlying Stream and giving 
the Connection object back to its pool (in the case your connection 
manager is a multithreaded one) or freeing the connection manager so 
that it can process the next request.


何かメモリを開放するみたいね

2015/04/05

java ssl charles

httpClientからhttpsを接続する時、firefox/iosのように証明書が必要....

$JAVA_HOME/jre/lib/security/cacerts, where JAVA_HOME is your java home directory for the JVM you’re using.

keytool -import -alias charles -file charles-proxy-ssl-proxying-certificate.crt -keystore JAVA_HOME/jre/lib/security/cacerts -storepass changeit

(changeit is the default password on the cacerts file)
Then try: keytool -list -keystore JAVA_HOME/jre/lib/security/cacerts -storepass changeit

2014/04/16

httpd mod_rewrite

■mod_rewrite は Apache の機能であり、モジュールを組み込むことで利用できる。
URL(ドメイン以下のパス)のリダイレクトや偽装、置き換えなどが行える。
一般的な正規表現を利用して RewriteRule を書くことができる。

・mod_rewrite.so
・httpd.conf にLoadModule rewrite_module modules/mod_rewrite.so

■RewriteCond
「RewriteCond」は、RewriteRule を実行するための条件を定義するための記述です。
 RewriteCond に記述した条件が満たされた時のみ RewriteRule に書いたURLの書き換えと転送が実行されるようにできます。
RewriteCond は、RewriteRule の記述部の前に複数個記述することができます。 RewriteCond を複数記述した場合には、複数の条件が全て一致した場合に RewriteRule を実行するのか(AND)、複数の条件のいずれかが一致した場合に実行するのか(OR) も指定することができます。


RewriteCond %変数名(テスト文字列) 条件パターン(正規表現) [フラグ]
RewriteCond %変数名(テスト文字列) 条件パターン(正規表現) [フラグ]
RewriteCond %変数名(テスト文字列) 条件パターン(正規表現) [フラグ]
RewriteRule ここにRewriteRuleのURL書換&転送設定を記述

RewriteCond を複数指定した場合に AND/OR を切替えます。
フラグを記述せずに RewriteCond を複数行記述した場合は AND になります。
フラグに [OR] と記述した場合は OR になります
RewriteCond の条件比較を大文字と小文字を区別するか否かを切替えます。
[NC] と記述することで大文字と小文字を区別しなくなります。 (=NCを指定しないと区別します)

グループ    変数名        値・意味

HTTP ヘッダ    HTTP_USER_AGENT    ユーザーエージェント
            HTTP_REFERER    参照元URL
            HTTP_COOKIE    クッキー情報
            HTTP_FORWARDED    プロキシ情報
            HTTP_HOST    サーバーのホスト名
            HTTP_PROXY_CONNECTION    プロキシを経由しているか否か
            HTTP_ACCEPT    ブラウザの言語タイプ
コネクション & リクエスト   
            REMOTE_ADDR    リモートアドレス
            REMOTE_HOST    リモートホスト名
            REMOTE_USER    リモートユーザー名 (基本認証利用時)
            REMOTE_IDENT    リモートユーザーのID
            REQUEST_METHOD    リクエストメソッド
            SCRIPT_FILENAME    スクリプトファイル名
            PATH_INFO    パス情報
            QUERY_STRING    クエリ文字列
            AUTH_TYPE    認証タイプ
サーバ内部変数   
            DOCUMENT_ROOT    ドキュメントルートのパス
            SERVER_ADMIN    サーバー管理者情報
            SERVER_NAME    サーバー名
            SERVER_ADDR    サーバーのアドレス
            SERVER_PORT    サーバーのポート番号
            SERVER_PROTOCOL    プロトコルバージョン
            SERVER_SOFTWARE    サーバーソフトウェア
システム関連   
            TIME_YEAR    年
            TIME_MON    月
            TIME_DAY    日
            TIME_HOUR    時
            TIME_MIN    分
            TIME_SEC    秒
            TIME_WDAY    曜日 (0:日 ~ 6:土)
            TIME    年月日時分秒 (例:20130123123456)
特別なもの   
            API_VERSION    APIバージョン
            THE_REQUEST    リクエスト文字列
            REQUEST_URI    リクエストURI
            REQUEST_FILENAME    リクエストされたファイル名
            IS_SUBREQ    サブリクエストか否か
            HTTPS    HTTPSでのアクセスか否か



■RewriteRuleの書き方
RewriteEngine on
RewriteRule (.+)\.html$ /item/view.php?p=$1 [L]


この場合、Aにアクセスすると、Bを実行する。
ブラウザの表示は Aのまま。


RewriteCond %{REMOTE_ADDR} ^12\.34\.56\.78$ [OR]
RewriteCond %{REMOTE_ADDR} ^87\.65\.43\.21$
RewriteCond %{REQUEST_URI} !^sorry\.html
RewriteRule .* /sorry.html
★= を使うと文字列として扱い、正規表現無効になる

Translation:

    IF their IP address is 12.34.56.78
    OR their IP address is 87.65.43.21
    AND the request is not for sorry.html
    THEN display the sorry.html page


RewriteCond %{REMOTE_ADDR} != 118.238.11.48|49|5[0-9]|6[0-3]

■■■■■Address Prefix

202.12.30.115というIPアドレスに対してネットマスク(境目を示す目印のようなもの)が255.255.255.0であった場合、
先頭から24ビット(3オクテット)までがネットワークを表し、後の8ビットはその中のホストを識別するために使われています。
この先頭から24ビットまでをアドレスプリフィックスと呼びます。アドレスプリフィックスはしばしば/(スラッシュ)を伴ってプリフィックス長とともに表記されます。
この例だと、202.12.30.0/24 あるいは 202.12.30/24 のように表記します。
/28==>11111111.11111111.11111111.11110000(255.255.255.)前から28位
1111=>16

2013/07/09

httpd: Could not open configuration file /etc/httpd/conf/httpd.conf: Permission denied

httpd を起動中:
httpd: Could not open configuration file /etc/httpd/conf/httpd.conf: Permission denied
(13)Permission denied: Error retrieving pid file run/httpd.pid
ls -alで確認して、read権限がある。
ls -Zで確認して、他のファイルとの違う所をわかった。
drwxrwxrwx root root user_u:object_r:samba_share_t share
Display security context so it fits on mostdisplays. 
Displays only mode, user, group,security context and file name

chcon -t httpd_config_t httpd.confで修正して、OK

更に、
SELinuxの無効化
/etc/sysconfig/selinux
=>SELINUX=disabled ← disabled に変更