shell bypass 403
o
abP � @ sV d Z ddlZddlZddlZddlZddlZddl Z ddl
Z
ddlmZ ddl
mZ ddlmZ ddlmZ ddlZzddlZW n eyK dZY nw ddlZddlZddlmZmZ ddlmZ ddlZd d
� Zdad7dd�Zd
d� Z d8dd�Z!G dd� de"�Z#G dd� de"�Z$G dd� de
j%�Z&G dd� de
j%�Z'G dd� de
j%�Z(G dd� de
j%e#e$�Z)G dd� de
j%�Z*G d d!� d!e
j%�Z+G d"d#� d#e
j%e#�Z,G d$d%� d%e
j%�Z-G d&d'� d'e
j%�Z.G d(d)� d)e
j%�Z/G d*d+� d+e
j%�Z0G d,d-� d-e
j%�Z1G d.d/� d/e#e
j%�Z2G d0d1� d1e
j%�Z3G d2d3� d3e
j%�Z4G d4d5� d5e
j%�Z5e6d6k�r)e
�7� dS dS )9z;Regression tests for what was in Python 2's "urllib" module� N)�patch)�support)� os_helper)�warnings_helper)�url2pathname�pathname2url)� b64encodec C s4 t t| ��dd� �� }t|�dkrd| }d| S )z!Escape char as RFC 2396 specifies� N� z0%s�%)�hex�ord�upper�len)�charZhex_repr� r �9/usr/local/python-3.10/lib/python3.10/test/test_urllib.py� hexescape s r c C sJ |durt jj|d�}n
tst� }|ant}|du r|�| �S |�| |�S )z.urlopen(url [, data]) -> open file-like objectN)�proxies)�urllib�request�FancyURLopener�
_urlopener�open)�url�datar Zopenerr r r �urlopen&